Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/07/2008, 10:51
xiroux
 
Fecha de Ingreso: julio-2008
Mensajes: 2
Antigüedad: 15 años, 10 meses
Puntos: 0
Pregunta Novato intenta sin exito hacer un ejercicio de un curso de C

Hola amigos! Soy nuevo por aqui, pero espero que me recibais con agrado, porque vengo a preguntar Llevo muy poquito aprendiendo el lenguaje C y me esta costando un poco pero con paciencia y animo lo conseguire... pero en este punto, aunque el animo sigue en pie, la paciencia se ha desplomado.
A ver, es que tengo un curso que me he bajado por ahi que va poniendo ejercicios, y uno de ellos consiste en hacer lo siguiente: un programa que almacene datos de hasta 50 personas (tales como nombre, direccion, edad...) y que al pulsar Intro sin escribir nada cuando te pide el nombre aparezca un menu con las siguientes opciones: 1-mostrar todos los nombres; 2-mostrar los nombres de las personas con una cierta edad; 3-mostrar los nombres de las personas cuya inicial sea la que se indique en el programa; 4- salir del programa.
Bueno, de esto se trata el ejercicio, y yo lo hago todo bien (me imagino que seguro que se puede mejorar) menos la opcion 3, la de la inicial, no se como comparar la inicial que mete el usuario del programa con al primera letra de cada nombre!!! He hecho lo siguiente, pero me da un error (el case 3: es donde tengo el problema):

Código PHP:
#include <stdio.h>
#include <string.h>
struct {
       
char nombre[60], direccion[100];
       
int tlfno;
       
int edad;
       }
usuario[50];
char temp[11], letra;
int iopcionjedad;
main()
{
      for (
i=0i<50i++)
          {
          
printf("Escriba su nombre completo: ");
          
          
gets(usuario[i].nombre);
          if (
strcmp (usuario[i].nombre"")==0) break;
          
printf("\nEscriba su direccion: ");
          
gets(usuario[i].direccion);
          
printf("\nEscriba su telefono: ");
          
gets(temp);
          
sscanf(temp"%d", &usuario[i].tlfno);
          
printf("\nEscriba su edad: ");
          
gets(temp);
          
sscanf(temp"%d", &usuario[i].edad);
          }
      do
          {
          
printf("\n\n\nEscoja una opcion:\n");
          
printf("1.-Mostrar la lista de todos los nombres.\n");
          
printf("2.-Mostrar las personas de la edad que se indique.\n");
          
printf("3.-Mostrar las personas cuyo nombre empiece con la letra que se indique.\n");
          
printf("4.-Salir del programa\n");
          
scanf("%d", &opcion);
          switch (
opcion)
                 {
                 case 
1:/*Muestra todos los nombres*/
                        
for (j=0j<=ij++)
                            
printf("%s\n"usuario[j].nombre);
                        break;
                 case 
2:/*Muestra las personas de una cierta edad*/
                        
printf("\nEscriba la edad que tienen las personas que quiere ver: ");
                        
scanf("%d", &edad);
                        for (
j=0j<=ij++)
                            if (
usuario[j].edad==edadprintf("%s\n"usuario[j].nombre);
                        break;
                 case 
3:/*Muestra las personas con la inicial que se indique*/
                        
printf("Escriba la inicial: ");
                        
scanf("%c", &letra);
                        for (
j=0j<=ij++)
                            if (
letra==usuario[j].nombre[0]) printf("\n%s"usuario[j].nombre);
                        break;

                 case 
4:/*Sale del programa*/
                        
printf("Fin del programa, pulse Intro para cerrar");
                        
getchar();
                        break;
                 }
          }
          while (
opcion!=4);
      


Bueno, espero que lo que he hecho no sea demasiada barbaridad y que podais ayudarme. Muchas gracias!!!!!!

Última edición por xiroux; 10/07/2008 a las 11:18