Cita:
Iniciado por amchacon Me faltan más datos.
Todo el codigo:
Código C++:
Ver original// big test.cpp: define el punto de entrada de la aplicación de consola.
//
#include "stdafx.h"
#include <string.h>
#include <iostream>
#include <stdio.h>
#include <windows.h>
#include <conio.h>
using namespace std;
//Structuras
struct usuarios{
char name[50],info[255],pais[50];
int anos,nacimiento;
};
//Funciones
void menuPrincipal(void);
void add(void);
void safe(struct usuarios);
void show();
void volver(char again[]);
//Cosas
HANDLE h= GetStdHandle(STD_OUTPUT_HANDLE);
int main()
{
menuPrincipal();
}
void menuPrincipal(void){
SetConsoleTextAttribute(h,150);
printf("\t1. Add new people.\n"); SetConsoleTextAttribute(h,100);
printf("\t2. Show people. \n"); SetConsoleTextAttribute(h, FOREGROUND_INTENSITY|20);
SetConsoleTextAttribute(h,15);
int numero;
scanf_s("%d",&numero);
if(numero==1){
add();
}
if(numero==2){
show();
}
if(numero==3){
}
}
void add(void){
struct usuarios users;
SetConsoleTextAttribute(h,FOREGROUND_INTENSITY|20);
SetConsoleTextAttribute(h,15);
gets_s(users.name);
SetConsoleTextAttribute(h,FOREGROUND_INTENSITY|20);
printf("\n\tGodina na rajdane:"); SetConsoleTextAttribute(h,15);
scanf_s("%d[4]",&users.nacimiento);
SetConsoleTextAttribute(h,FOREGROUND_INTENSITY|20);
SetConsoleTextAttribute(h,15);
scanf_s("%d[2]",&users.anos);
SetConsoleTextAttribute(h,FOREGROUND_INTENSITY|20);
SetConsoleTextAttribute(h,15);
gets_s(users.pais);
SetConsoleTextAttribute(h,FOREGROUND_INTENSITY|20);
SetConsoleTextAttribute(h,15);
gets_s(users.info);
SetConsoleTextAttribute(h,FOREGROUND_INTENSITY|20);
SetConsoleTextAttribute(h,15);
SetConsoleTextAttribute(h,FOREGROUND_INTENSITY|20);
printf("\n\tGodina na rajdane: "); SetConsoleTextAttribute(h,15);
printf("%d",users.
nacimiento); SetConsoleTextAttribute(h,FOREGROUND_INTENSITY|20);
SetConsoleTextAttribute(h,15);
SetConsoleTextAttribute(h,FOREGROUND_INTENSITY|20);
SetConsoleTextAttribute(h,15);
SetConsoleTextAttribute(h,FOREGROUND_INTENSITY|20);
SetConsoleTextAttribute(h,15);
char correctos[10];
do{
printf("\n\n\n\t\t\tLos datos son correctos? (Si\\No)"); gets_s(correctos);
_strlwr_s(correctos);
}while((strcmp(correctos
,"si")!=0) && (strcmp(correctos
,"no")!=0)); if(strcmp(correctos
,"si")==0){ safe(users);
}else if(strcmp(correctos
,"no")==0){ printf("\nVamos a introdusirlos de nuevo... \n click OK para continuar... "); add();
}
}
void safe(struct usuarios users){
char name[60];
char nombre[70];
strcpy_s(nombre,users.name);
sprintf_s(name,"%s.dat",users.name);
FILE *archivo;
fopen_s(&archivo,name,"wb+");
fwrite(&users
,sizeof(users
),1,archivo
); struct usuarios users2;
fread(&users2
,sizeof(users2
),1,archivo
); if(strcmp(users.
name,nombre
)==0){ SetConsoleTextAttribute(h,FOREGROUND_BLUE | FOREGROUND_INTENSITY);
printf("\tThe people was saved!"); printf("\\tnClick a boton for continue."); menuPrincipal();
}else{
SetConsoleTextAttribute(h,FOREGROUND_RED| FOREGROUND_INTENSITY);
printf("The people can't save. "); }
}
void show(){
SetConsoleTextAttribute(h,20);
char nombre[50];
SetConsoleTextAttribute(h,15);
gets_s(nombre);
sprintf_s(nombre,"%s.dat",nombre);
FILE *archivo;
fopen_s(&archivo,nombre,"rb+");
struct usuarios users2;
fread(&users2
,sizeof(users2
),1,archivo
); SetConsoleTextAttribute(h,20);
SetConsoleTextAttribute(h,15);
SetConsoleTextAttribute(h,20);
printf("\n\tGodina na rajdane: "); SetConsoleTextAttribute(h,15);
printf("%d",users2.
nacimiento); SetConsoleTextAttribute(h,20);
SetConsoleTextAttribute(h,15);
SetConsoleTextAttribute(h,20);
SetConsoleTextAttribute(h,15);
SetConsoleTextAttribute(h,20);
SetConsoleTextAttribute(h,15);
printf("\n\n\tClick the boton \"a\" for see more and any other for back."); char caracter;
caracter=_getch();
if(caracter=='a' || caracter=='b'){
show();
}else{
menuPrincipal();
}
}