Pc17-Programa con arreglo de caracteres
#include<stdio.h>
#include<string.h>
char tema[100];
char desc[500];
void inic(void){
int t;
for(t=0;t<100;t++){
tema[t]='\0';
}
for(t=0;t<500;t++){
desc[t]='\0';
}
}
void introducir(void){
int r;
char t1[100];
char t2[200];
for(r=0;r<5;r++){
if(!tema[r*20]) break;
}
if(r==5){
printf("Lista de temas completa...");
}else{
printf("Reg: %d\n",r);
puts("\nIntroduce tema, max. 20 caracteres: ");
gets(t1);
if(strlen(t1)>20){
printf("\nTema %d > 20 caracteres...\n",strlen(t1));
printf("Repite 1.Introducir Tema...\n");
}else{
strcpy(&tema[r*20],t1);
//gets(&tema[r*20]);
puts("\nIntroduce desc, max 100 caracteres: ");
gets(t2);
if(strlen(t2)>100){
printf("\nDescripción %d > 100 caracteres...\n",strlen(t2));
printf("Repite 1.Introducir Tema...\n");
tema[r*20] = '\0';
}else{
strcpy(&desc[r*100],t2);
}
}
}
}
int encontrar(){
char s[20];
int r;
printf("Introduce tema:\n");
gets(s);
for(r=0;r<5;r++){
if(!strcmp(s,&tema[r*20])) break;
}
if(r==5){
printf("tema no esta...\n");
return(-1);
}
return r;
}
void desplegar(int nt){
//int nt;
printf("\nTema:%s \nDescripción: %s\n",&tema[nt*20],&desc[nt*100]);
}
void actualizar(int nt){
int r;
char t1[100];
char t2[200];
r = nt;
printf("Reg: %d\n",r);
puts("\nIntroduce tema, max. 20 caracteres: ");
gets(t1);
if(strlen(t1)>20){
printf("\nTema %d > 20 caracteres...\n",strlen(t1));
printf("Repite 1.Introducir Tema...\n");
}else{
strcpy(&tema[r*20],t1);
puts("\nIntroduce desc, max 100 caracteres: ");
gets(t2);
if(strlen(t2)>100){
printf("\nDescripción %d > 100 caracteres...\n",strlen(t2));
printf("Repite 1.Introducir Tema...\n");
tema[r*20] = '\0';
}else{
strcpy(&desc[r*100],t2);
}
}
}
void eliminar(int nt){
tema[nt*20] = '\0';
desc[nt*100] = '\0';
puts("Tema y Descripción eliminados: ");
}
void listar(void){
int r;
for(r=0;r<5;r++){
printf("\nTema:%s \nDescripción: %s\n",&tema[r*20],&desc[r*100]);
}
}
int main(void){
char ca;
int nt;
inic();
//introducir();
do{
printf("\nMenu: \n");
printf("\n1.Introducir Tema\n");
printf("2.Desplegar Tema\n");
printf("3.Actualizar Tema\n");
printf("4.Eliminar Tema\n");
printf("5.Listar Temas\n");
printf("6.Terminar Tema\n");
do{
printf("Seleccionar Opción: ");
//ca=getchar();
gets(&ca);
}while(ca<'1' || ca>'6');
printf("\n");
switch(ca){
case'1':
introducir();
//listar();
break;
case'2':
nt=encontrar();
if(nt!=-1) desplegar(nt);
break;
case'3':
nt=encontrar();
if(nt!=-1) actualizar(nt);
break;
case'4':
nt=encontrar();
if(nt!=-1) eliminar(nt);
break;
case'5':
listar();
break;
case'6':
printf("Fin del programa...");
return(0);
}
}while(ca!='6');
return(0);
}
No hay comentarios:
Publicar un comentario