|
121
|
Programación / Programación C/C++ / Duda sobre sintaxis: Un argumento que hace referencia a una funcion...
|
en: 17 Abril 2019, 04:33 am
|
Hola!.. Estoy practicando Unreal y QT Creator, en ambos he visto esta sintaxis: void unaFuncionCualquiera(){ unaClase.unMetodo(&ClaseA::unaFuncionB); //este argumento.. } void ClaseA::unaFuncionB(){ //hacer algo }
En Unreal se manipulan los controles de esta forma. En QT se conecta un botón con una función... Entiendo el efecto que tiene, pero que tipo de parámetro es?,, como se denomina este tipo de parámetros? Saludos y gracias.
|
|
|
122
|
Programación / Programación C/C++ / Re: Menu en C++
|
en: 17 Abril 2019, 04:26 am
|
#include<iostream> #include<conio.h> #include<stdlib.h> #include <stdio.h> using namespace std; int main(){ while(1){ int n, sumaP=0, sumaI=0, sumaM=0, opcion; cout<<"Digite un numero"<<endl;cin>>n; cout << "\t1 .Suma de Pares " << endl; cout<<"\t2 .Suma de Impares "<<endl; cout<<"\t3 .Suma de Multiplos de 5 "<<endl; /*cout<<"\t5. Retroceder"<<endl;*/ cout<<"\t4 .Salir\nOpcion :"<<endl; cin>>opcion; for (int i=1; i<=n;i++){ switch (opcion){ case 1 : system("cls"); if (i %2==0 ){ sumaP=sumaP+i; cout<<"La suma de pares es: "<<sumaP<<endl; } break; case 2 : system("cls"); if (i%3==0){ sumaI=sumaI + i; cout<<"La suma de impares es: "<<sumaI<<endl; } break; case 3 : system("cls"); if (i%5==0){ sumaM=sumaM + i; cout<<"La suma de multiplos de 5 es: "<<sumaM<<endl; } break; case 4: cout<<"Salir\n"; exit(0); } cout<<("Presione un tecla para regresar al Menu Principal.\n"); getch(); } return 0; }
Hola, con la sintaxis es mas fácil que puedan ayudarte..
|
|
|
123
|
Programación / Programación C/C++ / Re: Duda de sintaxis..
|
en: 13 Abril 2019, 06:13 am
|
Creo entender, ustedes me corrigen... tendría que llamar a una función con el punto si esta siendo referenciada por una variable común y corriente.. o con el operador -> si fuera referenciada por un puntero.. pero Run() al ser estatica, no existe una instancia a ella, por eso no se usa ni punto ni ->, directamente el operador :: namespace Stuffs{
class UnaCosa{
static bool getTrue() const { return true; } }; }
int main (){
bool unaExpresion = Stuffs::UnaCosa::getTrue(); //una instancia a UnaCosa Stuffs::UnaCosa unaCosa; unaCosa.getTrue(); //Esto deberia dar error verdad?
//puntero Stuffs::UnaCosa * p_unaCosa = new Stuffs::UnaCosa; p_unaCosa->getTrue(); //Esto tambien deberia dar error, si?
}
saludos y gracias.
|
|
|
124
|
Programación / Programación C/C++ / Re: Duda de sintaxis..
|
en: 12 Abril 2019, 15:38 pm
|
Gracias por las aclaraciones
Si, me he dado cuenta que es un tipo manejado de cpp.
Entonces Application es una clase, pero, porque se llama a la función estática Run() de esa forma?
Application::Run();
Pense que los métodos se llamaban solo de dos formas:
Appication.Run()
o
Application->Run();
|
|
|
125
|
Programación / Programación C/C++ / Duda de sintaxis..
|
en: 11 Abril 2019, 16:58 pm
|
Hola! Entiendo que el operador de resolución de ámbito :: conecta un namespace con otro namespace o con una clase o con un método que esté dentro de un namespace específico... sin embargo, estoy viendo esto en Visual C++ y me asaltó la duda: System::Windows::Forms::Application::Run(gcnew Prototipo::MyForm());
Entiendo que System es un namespace, pero que serían Windows, Forms, Application y Run en este caso? No estoy seguro pero me da la idea de que desde System hasta Application son namespace y Run es una función... pero quisiera estar seguro. Gracias saludos.
|
|
|
126
|
Programación / Programación C/C++ / Re: Que significa esta sintaxis?
|
en: 11 Marzo 2019, 16:28 pm
|
Muchas gracias ambos, me ha quedado claro...
Antes le tenia terror a C++, pero con vosotros he aprendido bastante, y creo que ese miedo que le tenia realmente no tenia sentido, se programar en C#, pero creo que quedare definitivamente con C++, no me importa estar escribiendo mas, se pasa muy bien.
Gracias nuevamente.
|
|
|
127
|
Programación / Programación C/C++ / Re: ayuda con este menu
|
en: 11 Marzo 2019, 03:22 am
|
Amigo, le dejo aquí su código formateado para que lo ayuden mejor.. #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> void mostrar_menu() { int i; printf("\n\nMenú:\n=====\n\n"); printf("Escoge una opción:\n "); char a [][60]={"","|***Añadir***|","|****Mostrar****|","|*****Eliminar cliente*****|","|*****Salir*****|"}; for(i=1;i<5;i++){ } } struct registro{ int numero; char nombre[30]; char genero[20]; float paga; }; struct registro emp; FILE *fd; void anadir() { char otro; fd =fopen("cliente.txt","a"); if(fd==NULL) { printf("El archivo no se puede abrir ....\n\t\t\t"); } else { do{ fprintf(fd ,"%d %s %f \n",emp. numero,emp. nombre,emp. paga); printf("\n\t\tDesea registrar otro S/N :"); }while ( otro =='S' || otro =='s' ) ; } } void mostrar_lista(){ fd =fopen("cliente.txt","r"); if(fd==NULL) { printf("\t\tEl archivo no se puede abrir ....\n\t\t\t"); } else { printf("\t\t R E P O R T E D E C L I E N T E S "); printf("\n\n\t\tNumero \tNombre \tGenero \t Paga \n"); printf("\t\t______ \t______ \t _____ \t _____ \n"); { printf("\t\t%d\t%s\t%s\t$%.2f \n",emp. numero, emp. nombre , emp. genero ,emp. paga); } } } void elimina_lista(){ int buscar; FILE *aux; int bandera=0; printf("\t\tELIMINAR CLIENTE\n "); printf("\t\tNumero de cliente : "); fd =fopen("cliente.txt","r"); aux =fopen("auxiliar.txt","w"); if(fd==NULL) { printf("\n El archivo no se puede abrir, primero debe crearlo"); } else { bandera=0; { if( buscar== emp.numero) { printf("\t\tNombre %s\n",emp. nombre); printf("\t\tGenero %s\n",emp. genero); printf("\t\tPaga $%f\n",emp. paga); printf(" \n\t\tEl cliente sera eliminado y no lo recuperara.....\n\t\t"); bandera=1; } else { fprintf(aux ,"%d %s %s %f\n",emp. numero, emp. nombre, emp. genero, emp. paga); } } if (bandera==0){ printf("\nEl cliente no existe\n"); } rename("auxiliar.txt","cliente.txt"); } } int main () { int opc, x=0, num, z; do { mostrar_menu(); switch ( opc ) { case '1': anadir(); break; case '2': printf("Lista de clientes\n"); mostrar_lista(emp); break; case '3':printf("Eliminar registro \n"); elimina_lista(); break; case '4': exit( 1 ); break; default: printf( "Opcion no valida\n" ); break; } } while (opc!='4'); return 0; }
|
|
|
128
|
Programación / Programación C/C++ / Que significa esta sintaxis?
|
en: 11 Marzo 2019, 03:20 am
|
Muy buenas.. Estoy siguiendo unos tutoriales de Unreal Engine y me tope con algo que no habia visto: float CurrentScale = OurVisibleComponent->GetComponentScale().X;
Mi duda está precisamente en la sintaxis de GetComponentScale().X; Es primera vez que veo esa terminación ().X; Cual sería el prototipo de esa clase de funcion ? Gracias de antemano.
|
|
|
|
|
|
|