|
Mostrar Mensajes
|
Páginas: 1 2 [3] 4 5 6
|
22
|
Programación / Programación C/C++ / problemilla con estructura y archivo txt
|
en: 9 Junio 2014, 23:12 pm
|
saludos a todos, me encuentro un proyecto universitario y e realizado un codigo en base a lo que hemos estudiado de leer nombres y apellidos guardarlos en una estructura y luego guardarlos en un archivo txt pero tengo un problema que no me guarda bien los datos en el archivo de texto. pido de su ayuda y puedan decirme en que fallo y que debo cambiar. de antemano muchas gracias. #include <stdio.h> #include <stdlib.h> #include <string.h> /* Ahora usando el mismo archivo de datos, leer los nombres y crear otro archivo con los nombres ordenados de la forma apellido, primer_nombre y segundo_nombre*/ //Estructura typedef struct { char primer_nombre [45]; char segundo_nombre [45]; char apellido_persona [45]; } datos; //listado de personas void lista_personas(){ int m=0,k=0,z=1,y=0,x=0; //Indicacion de los datos de la estructura FILE *Doc; printf("Ingresar la cantidad de personas que se generara en su lista:\n\n"); scanf("%d",&k); printf("\n\nla cantidad de personas en su lista es de %d.\n\n",k); datos datos_estruct[y]; Doc=fopen("Documento.txt","wb"); for(m=0;m<=k;m++){ printf("\n\nEl I.D Registro de la persona es: %d\n\n",z); printf("Ingrese el Primer nombre de la persona:\n"); scanf("%s",&datos_estruct[y].primer_nombre[x]); printf("\nIngrese el segundo nombre de la persona:\n"); scanf("%s",&datos_estruct[y].segundo_nombre[x]); printf("\nIngrese el apellido de la persona:\n"); scanf("%s",&datos_estruct[y].apellido_persona[x]); x++; y++; z++; } for(m=0;m<k;m++){ fwrite(&datos_estruct[y], sizeof(datos),1,Doc); y++; } fclose(Doc); } //fin listado_personas // Inicio main main(){ lista_personas(); printf("\n\n\nSus datos fueron guardados satisfactoriamente.\n\n\n"); system("pause"); }
|
|
|
25
|
Programación / Programación C/C++ / turbo C y borland C
|
en: 3 Junio 2014, 20:53 pm
|
saludos a todos los miembros del foro. siempre e utilizado los IDE geany, code::blocks , devcpp- orwell devcpp, visual estudio C, wxdevcpp, netbeans. Pero nunca en turbo C ni borland C y quisiera saber si en esos dos la sintaxi es la misma que si programara en code::blocks. gracias de antemano
|
|
|
27
|
Programación / Programación C/C++ / Re: Pasar Array de una funcion a otra
|
en: 2 Junio 2014, 01:14 am
|
sucede q hay valores que no pasas por referencia fijate de las modifcaciones que le hice (solo para que funcionara la funcion de mostrar el inventario), para la funcion de transacciones te tocara hacer lo mismo #include <stdio.h> #include <iostream> #include <cstdlib> using namespace std; int art=0, *codigo, *cantidad; int menu(int art, int &codigo, int &cantidad); int AnhiadirArticulos(); int Transacciones(int art); int VerArticulos(int art, int codigo[], int cantidad[] ); int menu(int art, int &codigo, int &cantidad) { int opcion; system("cls"); cout << endl << endl; cout << "MARQUE << 1 >> PARA VER NUESTROS ARTICULOS" << endl; cout << "MARQUE << 2 >> PARA HACER TRANSACCIONES" << endl; cout << "MARQUE << 3 >> PARA SALIR DEL PROGRAMA" << endl; cout << "MARQUE UNA OPCION PARA CONTINUAR "; cin >> opcion; system("cls"); switch ( opcion ) { case 1: VerArticulos( art, &codigo, &cantidad); break; case 2: Transacciones( art ); break; case 3: return 0; break; default: cout << "OPCION INVALIDA, INTENTE DE NUEVO"; //menu(art, &codigo, &cantidad); } return 0; } int AnhiadirArticulos() { int tran=0, op=0, cod=0; system("cls"); cout << endl << endl; cout<<"CON CUANTOS ARTICULOS INICIA EL ALMACEN: "; cin>>art; int codigo[art]; int cantidad[art]; for ( int i=0; i<art; i++ ) { system("cls"); cout << endl << endl; cout << "INGRESE EL ARTICULO " << i+1 << endl; cout << "CODIGO "; cin >> codigo[i]; cout << "CANTIDAD "; cin >> cantidad[i]; } VerArticulos( art, codigo, cantidad); /* aqui cuando llama a la funcion VerArticulos() me muestra la lista de los articulos sin problemas, pero cuando me sale el menu principal y le digo que me muestre la lista de articulos "funcion de mas abajo" me imprime una secuencia de numeros sin sentido alguno y al final me arroja unos ceros "0" y se cierra el programa...*/ return 0; } int VerArticulos(int art, int codigo[], int cantidad[]) { system("cls"); cout << endl << endl; cout << "CODIGO\t\tCANTIDAD" << endl << endl; for ( int i=0; i<art; i++ ) { cout << codigo[i] << "\t\t" << cantidad[i] << endl; } cout << endl << endl; cout << "PRESIONE UNA TECLA PARA IR AL MENU"; cin.get(); cin.get(); menu(art,*codigo,*cantidad); return 0; } int Transacciones(int art ) { int tran, op, cod; int cantrecibida, cantvendida; int codigo[0], cantidad[0]; cout << endl; cout<<"TRANSSACCIONES POR DIA "; cin>>tran; for( int l=0; l<tran; l++) { system("cls"); cout<<" MARQUE << 1 >> SI ES PROVEERDOR"<<endl; cout<<" MARQUE << 2 >> SI ES UN CLIENTE"<<endl; cout<<" MARQUE UNA OPCION PARA "<<endl; cin>>op; if( op == 1 ) { cout<<"INGRESE CODIGO DEL ARTICULO "<<endl; cin>>cod; for ( int j=0; j<art; j++ ) { if ( cod == codigo[j] ) /* en esta parte del codigo me arroja siempre un error diciendome que el articulo no existe osea toma el "else" de este "if" lo mismo pasa con la condicional de mas abajo*/ { cout << "CUANTOS ARTICULOS INGRESARAN "; cin >> cantrecibida; cantidad[j] = cantidad[j] + cantrecibida; cout << "MUCHAS GRACIAS, TRANSACCION EXITOSA"; cout << "EXISTEN " << cantidad[j] << " UNIDADES DEL ARTICULO" << endl << endl; } else { cout << "EL CODIGO INGRESADO NO ES CORRECTO" << endl; cout << "PRESIONE UNA TECLA PARA IR AL MENU "; cin.get(); cin.get(); system("cls"); menu(art,*codigo,*cantidad); } } } else if ( op == 2 ) { cout<<"INGRESE CODIGO DEL ARTICULO "<<endl; cin>>cod; for ( int j=0; j<art; j++ ) { if ( cod == codigo[j] ) { cout << "ARTICULOS VENDIDOS "; cin >> cantvendida; cantidad[j] = cantidad[j] - cantvendida; cout << "MUCHAS GRACIAS, TRANSACCION EXITOSA"; cout << "EXISTEN " << cantidad[j] << " UNIDADES DEL ARTICULO" << endl << endl; } else { cout << "EL CODIGO INGRESADO NO ES CORRECTO" << endl; cout << "PRESIONE UNA TECLA PARA IR AL MENU "; cin.get(); cin.get(); system("cls"); menu(art,*codigo,*cantidad); } } } else { cout << "DIGITO UN DATO INVALIDO, POR FAVOR" << endl; cout << "PRESIONE UNA TECLA PARA CONTINUAR "; cin.get(); cin.get(); int main(); } } return art; } int main() { AnhiadirArticulos(); menu(art,*codigo,*cantidad); return 0; }
|
|
|
28
|
Programación / Programación C/C++ / Re: Pasar Array de una funcion a otra
|
en: 1 Junio 2014, 06:03 am
|
int menu() { int opcion, codigo, cantidad, art; //estas diciendo que "codigo" y "cantidad" son variables enteras!!! [.....] case 2: VerArticulos( codigo[art], cantidad[art], art ); // y aqui estas diciendo que son vectores. break; case 3: Transacciones(); break; case 4: return 0; break; default: cout << "OPCION INVALIDA, INTENTE DE NUEVO"; menu(); } return 0; }
conclusion: ¿o son vectores, o son variables enteras?
|
|
|
|
|
|
|