|
Mostrar Temas
|
Páginas: [1] 2
|
1
|
Programación / Programación C/C++ / No entiendo un parametro de mi funcion
|
en: 20 Febrero 2018, 00:14 am
|
No entiendo porque si quito el puntero char* args[] me da error de compilacion. Alguien que me ayude, gracias. #include <iostream> #include <ctime> using namespace std; /* *Pre:numArg>0 *Post:Pide al operador numArg veces, que pulse la tecla de fin de linea e informa * cada una de las veces del tiempo trascurrido */ int main(int numArg,char* args[]){ for(int i =0; i<numArg;++i){ cout<<i+1<<")"<<" Pulse la tecla de fin de linea, por favor ..."<<flush; time_t t1=time(NULL); char enter[20]=" "; cin.getline(enter,20); time_t t2=time(NULL); int segundos=int(t2-t1); cout<<"Su tiempo de reaccion ha sido "<<segundos<<" segundos"<<endl; cout<<endl; } return 0; }
Cuando no pongo como parámetro char* args[] me da este error tiempoReaccion.cc:12:5: warning: 'int main(int)' takes only zero or two arguments [-Wmain] int main(int numArg){
|
|
|
3
|
Programación / Programación C/C++ / Duda sobre c++
|
en: 26 Enero 2018, 18:19 pm
|
Hola buenas, os enseño primero el main del programa y despues os digo la duda: /* * Pre: _ _ _ * Post: El programa ha solicitado al usuario el nombre de un fichero de alumnos, lo ha leido y a continuacion, ha solicitado * el nombre de un fichero de las notas de los mismos alumnos, que ha leido despues. Posteriormente ha creado una tabla auxiliar donde * guarda los alumnos y los ha ordenado de acuerdo con el criterio del guion del trabajo. Después ha agrupado cada alumnos con sus notas * correspondientes. Y por último,si el nombre de ambos ficheros han sido correctos y ademas accesibles, muestra por pantalla los alumnos * las notas, de acuerdo al formato preestablecido en el guion del trabajo * La interacción con el usuario y el formato de los resultados se muestran en el siguiente ejemplo de ejecución: * * Fichero de alumnos del grupo: ../../datos/grupo01.txt * Fichero binario de notas del grupo: ../../datos/notasGrupo01.bin * * LISTADO DE CALIFICACIONES DE PROGRAMACION 1 * =========================================== * CODIGO NOMBRE APELLIDOS FEBRERO SEPTIEMBRE * ====== ======================= ============================== ======= ========== * 43762671 ANA ISABEL ARTIGAS LOPEZ AP 6.7 * 54042067 EULOGIO BENITO LACAMBRA MH 9.7 * 53424993 LAURA BESTEIRO CIFUENTES NP NO 8.5 * 5298222 NICOLAS BORAO GIMENO SU 4.2 SU 3.8 * . . . . . . * 52112820 ARTURO VELASCO DE LA FUENTE NP NP * 45161111 MARIA JOSE ZARAGOZA SIERRA NO 7.6 */ int main(){ //estructura de datos necesaria para peticion() char direccionTxt[MAXDIRECCION]="../../datos/"; char direccionBin[MAXDIRECCION]="../../datos/"; //Estructura de datos necesaria para leerGrupo y leerNotas Grupo g; Alumno alumnoTraspaso[LIMITE_GRUPO]; Notas tabla[1000]; int numdeAlumnos=-1; //Peticion y lectura de los alumnos peticionTxt(direccionTxt); leerGrupo(direccionTxt,g); //Peticion y lectura de las notas peticionBin(direccionBin); leerNotas(direccionBin,tabla,numdeAlumnos); //genera una tabla donde guarda a los alumnos tablaTraspaso(g,alumnoTraspaso,numdeAlumnos); //Ordenacion ordenar(alumnoTraspaso,numdeAlumnos); //Agrupa alumnos con sus notas correspondientes agrupar(alumnoTraspaso,tabla,numdeAlumnos); //sacar por pantalla los alumnos y sus notas escribir(numdeAlumnos,alumnoTraspaso,tabla); return 0; }
Es un programa que lee dos ficheros(leerGrupo(),leeerNotas()), y después modifica su contenido y lo saca por pantalla como aparece en el comentario del main. Mi duda es, como puedo hacer en el main, para que si no consigue leer los ficheros porque no existen por ejemplo, QUE NO SAQUE NADA POR PANTALLA Gracias de antemano:)
|
|
|
4
|
Programación / Programación C/C++ / variables privadas, duda!!
|
en: 15 Enero 2018, 03:16 am
|
Quiero acceder a Alumno integrantesGrupo[LIMITE_GRUPO] struct Grupo { private: Alumno integrantesGrupo[LIMITE_GRUPO]; int numAlumnos; public: // Funciones para gestionar datos de tipo Grupo friend void leerGrupo (const char nombreFichero[], Grupo& g); friend int numAlumnos (const Grupo& g); friend Alumno alumno (const Grupo& g, const int i); };
Me dan el metodo para acceder, friend Alumno alumno(const Grupo& g, const i) que es del tipo Alumno struct Alumno { private: // Estructura interna de un dato de tipo Alumno int codigoPrivate; char nombrePrivate[LIMITE_NOMBRE]; char apellidosPrivate[LIMITE_APELLIDOS]; public: // Funciones para gestionar datos de tipo Alumno friend Alumno definir (const int codigo, const char nombre[], const char apellidos[]); friend int codigo (const Alumno a); friend void nombreCompleto (const Alumno a, char nombre[], char apellidos[]); };
Como hago para sacar por pantalla Alumno integrantesGrupo[LIMITE_GRUPO], siendo que es privet????? Gracias de antemano
|
|
|
5
|
Programación / Programación C/C++ / Duda sobre structs!!!
|
en: 9 Enero 2018, 23:54 pm
|
Si tengo un struct definido, ej: struct Notas { // Estructura interna de un dato de tipo Notas int codigoAlumno; int cualitativa1; int cuantitativa1; int cualitativa2; int cuantitativa2; };
y una funcion en la que se implican dos variables del struct: suspendido=1; aprobado=0; void convocatoria1 (const Notas& n, int& cualitativa, int& cuantitativa){ if (n.cualitativa1==suspendido){ cualitativa=n.cualitativa1; } else{ cualitativa=n.cualitativa1; cuantitativa=n.cuantitativa1; } }
En el caso de que este suspendido me devuelve la variable por referencia "cualitativa", pero como hago para que no me devuelva la variable "cuantitativa"? Porque si en el main, meto la funcion en un bucle : int main(){ int convo1cuali=0; int convo1cuanti=0; Notas vector[14]; int j=0; while(j<14){ convocatoria1(vector[j],convo1cuali,convo1cuanti); cout<<convo1cuali<<" "<<convo1cuanti<<endl; j++; } return 0; }
La cuantitativa en el caso de estar suspendido(que no se tiene que mostrar), en vez de no mostrarse, saca por pantalla el valor de la cuantitativa de j-1 del bucle. Tienen idea de como se podria arreglar?, gracias de antemano
|
|
|
6
|
Programación / Programación C/C++ / No entiendo que quiere decir este error de compilación!!!!!
|
en: 4 Enero 2018, 10:57 am
|
Ultimamente me sale mucho este error pero es que no se que quiere decir, que tiene que ver una constante y una conversion pero que narices. Esta es la función: void leerGrupo (const char nombreFichero[], Grupo& g){ ifstream archivo; archivo.open("nombreFichero.txt",ios::in); if(archivo.is_open()){ int codigoNumerico; char nombre[LIMITE_NOMBRE]; char apellidos[LIMITE_APELLIDOS]; char blanco=" "; char coma=","; cin>>codigoNumerico; while(!archivo.eof()){ archivo.getline(apellidos,LIMITE_APELLIDOS,coma); archivo.getline(nombre,LIMITE_NOMBRE); cin>>codigoNumerico; } archivo.close(); } else { cerr<<"No se ha podido leer el archivo: "<<nombreFichero<<endl; } } int main(){ leerGrupo(); return 0; }
Los errores que no entiendo son estos: C:/Users/diego/Documents/programacion1infor/biblioteca/caca/main.cpp:32:21: error: invalid conversion from 'const char*' to 'char' [-fpermissive] char blanco=" "; ^ C:/Users/diego/Documents/programacion1infor/biblioteca/caca/main.cpp:33:19: error: invalid conversion from 'const char*' to 'char' [-fpermissive] char coma=","; ^ C:/Users/diego/Documents/programacion1infor/biblioteca/caca/main.cpp:32:14: warning: unused variable 'blanco' [-Wunused-variable] char blanco=" "; ^
|
|
|
7
|
Programación / Programación C/C++ / PROBLEMA!!! algoritmo conversor de struct a int, me devuelve 0
|
en: 2 Enero 2018, 19:00 pm
|
No hay errores de compilacion, solo un warning. Consiste en que de un vector con numeros en char, los pasa a tipo int. Uso bucle for, que de la posición más avanzada hasta la posicion 0 los va convirtiendo. Muchas gracias si me podeis ayudar:) #include <iostream> using namespace std; int valor (const char sec[]){ int f=0; int l=1; int g=0; for(int i='\0'-1;i=0;i--){ f=sec[i]-'0'; int g=f*l+g; l=l*10; } cout<<"El numero en entero es: "<<g<<endl; return g; } int main(){ valor("456798756464"); return 0; }
|
|
|
8
|
Programación / Programación C/C++ / AYUDA!
|
en: 7 Noviembre 2017, 22:58 pm
|
El bucle de mi programa nunca finaliza y no entiendo porqué. #include <iostream> using namespace std; /*Pre:___ * Post: Devuelve el numero de letras que hay en la tabla de caracteres popurri[] */ int main(){ const char popurri[]={'A','b','2','o','6','\0'}; const char FIN_CADENA='\0'; int letras=0; int i=0; while(popurri[i]!=FIN_CADENA){ if((popurri[i]>='A' && popurri[i]<='Z') || (popurri[i]>='a' && popurri[i]<='z')){ i++; letras++; } } cout<<"numero de letras que tiene la tabla: "<<letras<<endl; return 0; }
|
|
|
9
|
Programación / Programación C/C++ / si alguien puede ayudarme :/
|
en: 5 Noviembre 2017, 15:54 pm
|
No entiendo que implica este warninig, podeis ayudarme?? C:/Users/Usuario/Documents/programacion1infor/practica1/prueba1/prueba1.cc:85:11: warning: the address of 'bool anyoPosterior()' will always evaluate as 'true' [-Waddress] while(!anyoPosterior && dias<0){ ^
|
|
|
10
|
Programación / Programación C/C++ / help!! mi programa modular me da error al compilar
|
en: 4 Noviembre 2017, 19:15 pm
|
La sintaxis del programa esta correcta. Es un programa con un fichero interfaz y un fichero de implementacion referenciados. Si alguien se le puede ocurrir que falla lo agradezco mucho!!
Esto aparece en la compilacion:
C:\Windows\system32\cmd.exe /C C:/TDM-GCC-64/bin/mingw32-make.exe -j2 SHELL=cmd.exe -e -f Makefile "----------Building project:[ Demo - Debug ]----------" mingw32-make.exe[1]: Entering directory 'C:/Users/Usuario/Documents/programacion1infor/practica3/Demo' C:/TDM-GCC-64/bin/g++.exe -c "C:/Users/Usuario/Documents/programacion1infor/biblioteca/Enteros/propiedades.cpp" -g -O0 -Wall -o ./Debug/up_up_biblioteca_Enteros_propiedades.cpp.o -I. -I. C:/TDM-GCC-64/bin/g++.exe -o ./Debug/Demo @"Demo.txt" -L. C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/5.1.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingw32.a(lib64_libmingw32_a-crt0_c.o): In function `main': C:/crossdev/src/mingw-w64-v4-git/mingw-w64-crt/crt/crt0_c.c:18: undefined reference to `WinMain' collect2.exe: error: ld returned 1 exit status mingw32-make.exe[1]: *** [Debug/Demo] Error 1 mingw32-make.exe: *** [All] Error 2 Demo.mk:78: recipe for target 'Debug/Demo' failed mingw32-make.exe[1]: Leaving directory 'C:/Users/Usuario/Documents/programacion1infor/practica3/Demo' Makefile:4: recipe for target 'All' failed ====2 errors, 0 warnings====
|
|
|
|
|
|
|