Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda para passar programa a fixeros!

Estas en el tema de Ayuda para passar programa a fixeros! en el foro de C/C++ en Foros del Web. Hola cracks! Que tal? Les explico mi problema, estoy estudiando un ciclo formativo superior de Desenvolupador de sistemas informaticos y en la assignatura de programacion ...
  #1 (permalink)  
Antiguo 28/05/2008, 14:48
 
Fecha de Ingreso: mayo-2008
Mensajes: 9
Antigüedad: 16 años
Puntos: 0
Ayuda para passar programa a fixeros!

Hola cracks! Que tal?
Les explico mi problema, estoy estudiando un ciclo formativo superior de Desenvolupador de sistemas informaticos y en la assignatura de programacion c++ nos han mandado un trabajo que trata de hacer una agenda electronica utilitzando ficheros. El caso esque nos hemos quedado sin tiempo y no se ha dado el tema en clase, y me he quedado sin tiempo para aprender a hacerlo tambien ya que la fecha de entrega de tal es el martes y estoy lleno de examenes.

Les adjunto el programa ( "los printf" estan en catalan, he passado todos los comentarios a castellano) y si algun experto me pudiera hacer los arreglos mágicos para que guardara los datos en un archivo lo agradeceria mucho!!

Un saludo y gracias!

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define DIM 20
void introdueix (struct agenda *p);
void esborrar (struct agenda *e);
void mostradora (struct agenda c);
void menu ();
void validar (struct agenda *v);
void pausar ();


struct agenda
{
char nom[20];
char cognom_primer[20];
char cognom_segon[20];
long telefon;
int valid;
};

int num=0;
int w=-1;
void main ()
{

int comp, opcio, xivato, i;
char cadena[20];
char cadena2[20];
struct agenda listin[DIM];
long temp;

for (i=0; i<20; i++) //Con este for se ponen todos los contactos como validos desde un principio.
validar( &listin[i]);

do{

menu();
scanf("%d",&opcio);//Elijo la opcion del switch


fflush(stdin);
system("cls");

switch(opcio)
{
case 1:// introducir contactos
introdueix( &listin[num]);
break;

case 2://borrar contactos
printf("Introdueix el nom del contacte que vols esborrar: ");
gets(cadena);
fflush(stdin);
printf("\nIntrodueix l'apellit del contacte que vols esborrar: ");
gets(cadena2);
fflush(stdin);

xivato=0;

for (i=0; i<w; i++)
{

if ((strcmp(cadena, listin[i].nom)==0) && (strcmp(cadena2, listin[i].cognom_primer)==0))//Compara el nom i cognom introduit amb els de tots els contactes
{ if (listin[i].valid==1)
{
esborrar(&listin[i]);
printf("\nEl contacte de nom %s i apellit %s ha sigut esborrat.\n", cadena, cadena2);
}
xivato=0;
}
else
xivato=1;
}
if (xivato==1) printf("\nNo hi ha cap contacte amb aquest nom.\n");
pausar();
break;

case 3://Mostrar todos los contactos de la agenda
printf("\n AGENDA\n");
for (i=0; i<w; i++)
{
mostradora (listin[i]);
}

pausar();
break;

case 4://Buscar un contacto x el nombre
printf("Introdueix el nom del contacte que vols buscar: ");
gets(cadena);
fflush(stdin);

xivato=0; //Utilizo la variable xivato como "trampilla" para mostrar la frase no hay ningun contacto...

for (i=0; i<w; i++)
{
comp=strcmp(cadena, listin[i].nom);//Compara el nombre introducido con todos los nombres
if (comp==0)
{
mostradora (listin[i]);
xivato=0;
}
else
xivato=1;
}
if (xivato==1) printf("\nNo hi ha cap contacte amb aquest nom.\n");
pausar();
break;

case 5://Busca un contacte por el cognom
printf("Introdueix el cognom del contacte que vols buscar: ");
gets(cadena);
fflush(stdin);

xivato=0;

for (i=0; i<w; i++)
{
comp=strcmp(cadena, listin[i].cognom_primer);//Compara el cognom introducido con todos los cognoms

if (comp==0)
{
mostradora (listin[i]);
xivato=0;
}
else xivato=1;
}
if (xivato==1) printf("\nNo hi ha cap contacte amb aquest cognom.\n");
pausar();
break;

case 6://Busca un contacto por su telefono
printf("Introdueix el telefon del contacte que vols buscar: ");
scanf("%ld", &temp);
fflush(stdin);
xivato=0;

for (i=0; i<w; i++)
{
if (temp==listin[i].telefon)//Compara el valor introducido con todos los telefonos
{
mostradora (listin[i]);

xivato=0;
}
else xivato=1;
}
if (xivato==1) printf("\nNo hi ha cap contacte amb aquest telefon.\n");
pausar();
break;

}
}while(opcio!=7);


printf("\n\n C0pYriGHt_by_M&k3\n\n\n");

}


void introdueix (struct agenda *p) //Funcion para introducir contactos
{
if(num<=20)
{
printf("\nIntrodueix el nom del contacte:");
gets(p->nom);
printf("Introdueix el primer cognom del contacte:");
gets(p->cognom_primer);
printf("Introdueix el segon cognom del contacte:");
gets(p->cognom_segon);
printf("Introdueix el telefon del contacte:");
scanf("%ld", &p->telefon);
fflush(stdin);
p->valid=1;
num++;
w=num;
}
pausar();
}

//Funcion para borrar contactos
void esborrar (struct agenda *e)
{

e->valid=0;


}

//Funcion para mostrar los datos de un contacto
void mostradora (struct agenda c)
{
if (c.valid==1)
{
printf("\nNom: %s", c.nom);
printf("\nCognom: %s", c.cognom_primer);
printf("\nSegon cognom: %s", c.cognom_segon);
printf("\nTelefon: %ld\n", c.telefon);
}
}

// Funcion para mostrar el menu
void menu ()
{
printf(" ************************************************** *****");
printf("\n * *");
printf("\n * Si vols entrar un nou contacte prem 1 *");
printf("\n * Si vols esborrar un contacte prem 2 *");
printf("\n * Si vols mostrar tota l'agenda prem 3 *");
printf("\n * Si vols cercar un contacte pel nom prem 4 *");
printf("\n * Si vols cercar un contacte pel cognom prem 5 *");
printf("\n * Si vols cercar un contacte per telefon prem 6 *");
printf("\n * Si vols sortir prem 7. *");
printf("\n * *");
printf("\n ************************************************** *****\n");
printf(" OPCIO: ");
}

//Funcion para validar un contacto
void validar (struct agenda *v)
{
v->valid=0;
}

//Funcion para dar una pausa antes de volver a mstrar el menu
void pausar ()
{
printf("\n\nPrem la tecla ENTER per continuar...");
system("pause>null");
system("cls");
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 06:25.