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

Menu en c / c++

Estas en el tema de Menu en c / c++ en el foro de C/C++ en Foros del Web. Hola hola!!! Bueno primero que todo gracias por siempre responder a mis preguntas, lo segundo es que es mi primera vez programando en C++, tengo ...
  #1 (permalink)  
Antiguo 19/04/2010, 12:50
 
Fecha de Ingreso: abril-2010
Mensajes: 1
Antigüedad: 14 años, 7 meses
Puntos: 0
Menu en c / c++

Hola hola!!!
Bueno primero que todo gracias por siempre responder a mis preguntas, lo segundo es que es mi primera vez programando en C++, tengo una duda, soy medio autodidacta y pues me tope con un problema tengo este codigo:
El problema? salen 25 errores en el switch :S

#include<stdio.h>
#include<conio.h>
#include<iostream.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>

int num1 ();
int num2 ();
int num3 ();
int num4 ();
int num5 ();
int num6 ();
int num7 ();
int num8 ();
int num9 ();
main ()

{

clrscr();
int opcion;

printf(" Elige una de las opciones\n");
printf(" y te mostrare un programa\n");
printf(" Opcion 1\n");
printf(" Opcion 2\n");
printf(" Opcion 3\n");
printf(" Opcion 4\n");
printf(" Opcion 5\n");
printf(" Opcion 6\n");
printf(" Opcion 7\n");
printf(" Opcion 8\n");
printf(" Opcion 9\n");
scanf("%d\n\n",&opcion);
switch (opcion);
{

case'1':void num1();break;
case 2:void num2();break;
case 3:void num3();break;
case 4:void num4();break;
case 5:void num5();break;
case 6:void num6();break;
case 7:void num7();break;
case 8:void num8();break;
case 9:void num9();break;
}
}





void num1 ();
clrscr();
char s1[49]="Esto es un ejemplo para usar la funcion strok()";
char s2[4]="\n\t";
char*ptr;

printf("s1=%s\n",s1);

ptr=strtok(s1,s2); //primera llamada => primer token
printf("%s\n",ptr);
while((ptr = strtok(NULL,s2))!=NULL)// posteriores llamadas
printf("%s\n",ptr);

getch();
return 0;
}

void num2 ();

char cadena[]=";0ásRñ(hü&Rç1/";
int i;
for(i=0;cadena[i];i++)
printf("%c,%c\n",cadena[i],toascii(cadena[i]));
return 0;
}


void num3 ();
char s2[8]="abcdefg";
char s1[8];
strncpy(s1,s2,3);
printf("s2=%s\n",s2);
printf("s1=%s\n",s1);
return 0;}


void num4 ();

char s2[8]="abcdefg";
char s1[8];
strcpy(s1,s2);
printf("s2=%s\n",s2);
printf("s1=%s\n",s1);
return 0;}


void num5 ();

char s[13]="Hola a todos";
printf("s=%s\n",s);
printf("strlen(s)=%d\n",strlen(s));
return 0;}


void num6 ();

char s1[11]="Hola";
char s2[6]="amigos";
printf("s1=%s\t",s1);
printf("s2=%s\n",s2);
strcat(s1,s2);
printf("s1=%s\n",s1);
return 0;
}



void num7 ();
char s1[9]="artesano";
char s2[8]="artista";
int i;
printf("s1=%s\t",s1);
printf("s2=%s\n",s2);
i=strncmp(s1,s2,3);
printf("Las 3 primeras letras de s1 son");
if(i<0) printf("menores que");
else if(i>0) printf("mayores que");
else printf("iguales a");
printf("s2\n");
return 0;
}



void num8 ();
char cadena[]="ESTO ES UNA CADENA DE PRUEBA";
int i;
for(i=0;cadena[i];i++)
cadena[i]=tolower(cadena[i]);
printf("%s\n",cadena);
getch();
return 0;
}


void num9 ();
char cadena[]="esto es una cadena de prueba";
int i,opcion;
for(i=0;cadena[i];i++)
cadena[i]=toupper(cadena[i]);

printf("%s\n",cadena);
printf(" Opcion volver al menu presiona 1\n");

scanf("%d\n\n",&opcion);
switch (opcion);
{

case 1:void main();break;
return 0;
}




Si me pueden ayudar se los agradecere siempre ^^
  #2 (permalink)  
Antiguo 19/04/2010, 13:26
Avatar de sadalsuud  
Fecha de Ingreso: marzo-2010
Ubicación: en la casa del duende
Mensajes: 96
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Menu en c / c++

humm..... bueno este es su primer mensaje en el foro... como es que le responden a sus preguntas siempre?? ¬¬

El caso es que el codigo tiene grandes fallas:

1- #include<conio.h> no es una librería estander trata de usar otra.
2- En lugar de #include<iostream.h> usa #include<iostream> que si es estandar
3- main() no, int main() acostumbrese a que main es de tipo int
4- clrscr() no es estandar ... pero no recuerdo un equivalente xD :P
5- Switch nunca tiene punto y coma al inicio como en: switch (opcion);
6- Antes de main declaras todas las funciones de tipo int indicando estas retornan un entero, despues del main, las "declaras" como void. O son void o son int pero no ambas
7- La declaracion de las funciuones despues de int main() se hace así:

void num1(){
// contenido de la funcion
}

Y no

void num2 ();
// contenido de la funcion
}

No va ; punto y comoa al lado del parentesis en la DECLARACION de una funcion, pero si cuando se LLAMA la funcion

Te recomiendo que leas sobre en cualquier libro de c++ los primeros caps para que te informes mejor de como se usan un swich y el manejo de funciones

Sigue participando ...
ciao
  #3 (permalink)  
Antiguo 20/04/2010, 02:05
Avatar de vick90  
Fecha de Ingreso: abril-2010
Mensajes: 144
Antigüedad: 14 años, 7 meses
Puntos: 14
Respuesta: Menu en c / c++

mira este codigo esta echo en turbo C pero al parecer es casi lo mismo ahi te lo dejo para que te des una idea mas o menos
Código C#:
Ver original
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<math.h>
  4. int n1,n2;
  5. int s,d,m,c,opcion,b;
  6. float r,f,p,x;
  7. main()
  8. {
  9. vick:
  10. textcolor(YELLOW);
  11. textbackground(2);
  12. clrscr();
  13. {
  14. printf("\n\t\t\t:::::::::CALCULADORA::::::::::::\n\n");
  15. printf("\t\t\============================================\n");
  16. printf("\t\t=\t\t1 .-SUMA                    =\n");
  17. printf("\t\t=\t\t2 .-RESTA                   =\n");
  18. printf("\t\t=\t\t3 .-MULTIPLICACION          =\n");
  19. printf("\t\t=\t\t4 .-DIVISION                =\n");
  20. printf("\t\t=\t\t5 .-RAIZ CUADRADA           =\n");
  21. printf("\t\t=\t\t6 .-CUADRADO DE UN NUMERO   =\n");
  22. printf("\t\t=\t\t7 .-CUBO DE UN NUMERO       =\n");
  23. printf("\t\t=\t\t8 .-SENO                    =\n");
  24. printf("\t\t=\t\t9 .-COSENO                  =\n");
  25. printf("\t\t=\t\t10.-TANGENTE                =\n");
  26. printf("\t\t=\t\t11.-VALOR ABSOLUTO          =\n");
  27. printf("\t\t=\t\t12.-LOGARITMO               =\n");
  28. printf("\t\t============================================\n");
  29. textcolor(WHITE);
  30. textbackground(3);
  31. printf("\n\tESCOJA UNA OPCION:");
  32. scanf("%d",&opcion);
  33. printf("Presione una tecla para continuar.....");
  34. clrscr();
  35.   switch(opcion)
  36.   {
  37.      case 1:
  38.          textcolor(GREEN);
  39.          textbackground(6);
  40.          gotoxy(15,3);
  41.          printf("Este programa nos muestra la suma de dos numeros");
  42.          gotoxy(10,5);printf("==============================================================");
  43.          gotoxy(20,10); printf("Dame el primer numero:");
  44.          scanf("%d",&n1);
  45.          gotoxy(20,11); printf("Dame otro numero:");
  46.          scanf("%d",&n2);
  47.          s=n1+n2;
  48.          gotoxy(20,12);printf("La suma es:");
  49.          printf("%d",s);
  50.          getch();
  51.          gotoxy(6,13);
  52.          printf("Presione 1 para realizar otra operacion sino presione cualquier tecla:");
  53.          scanf("%d",&b);
  54.          if(b==1)
  55.         {
  56.           clrscr();
  57.           goto vick;
  58.         }
  59.         else
  60.             {
  61.         textcolor(YELLOW);
  62.         textbackground(0);
  63.         clrscr();
  64.         return(0);
  65.         getch();
  66.         }
  67.      break;
  68.  
  69.      case 2:
  70.     gotoxy(10,10);printf("Dame primer numero:");
  71.     scanf("%d",&n1);
  72.     gotoxy(11,11);printf("Dame segundo numero:");
  73.     scanf("%d",&n2);
  74.     s=n1-n2;
  75.     gotoxy(12,12);printf("La resta es:");
  76.     printf("%d",s);
  77.     getch();
  78.     gotoxy(6,13);
  79.     gotoxy(6,13);
  80.          printf("Presione 1 para realizar otra operacion sino presione cualquier tecla:");
  81.          scanf("%d",&b);
  82.          if(b==1)
  83.         {
  84.           clrscr();
  85.           goto vick;
  86.         }
  87.         else
  88.             {
  89.         textcolor(YELLOW);
  90.         textbackground(0);
  91.         clrscr();
  92.         gotoxy(15,40);printf("Echo por:\n");printf("Victor Vasquez\n");
  93.         getch();
  94.         }
  95.     break;
  96.  
  97.      case 3:
  98.     gotoxy(10,10);printf("Dame primer numero:");
  99.     scanf("%d",&n1);
  100.     gotoxy(11,11);printf("Dame segundo numero:");
  101.     scanf("%d",&n2);
  102.     m=n1*n2;
  103.     gotoxy(12,12);printf("La multiplicacion es:");
  104.     printf("%d",m);
  105.     getch();
  106.     gotoxy(6,13);
  107.          printf("Presione 1 para realizar otra operacion sino presione cualquier tecla:");
  108.          scanf("%d",&b);
  109.          if(b==1)
  110.         {
  111.           clrscr();
  112.           goto vick;
  113.         }
  114.         else
  115.             {
  116.         textcolor(YELLOW);
  117.         textbackground(0);
  118.         clrscr();
  119.         gotoxy(15,40);printf("Echo por:\n");printf("Victor Vasquez\n");
  120.         getch();
  121.         }
  122.     break;
  123. case 4:
  124.     printf("\n\n\t\tDame primer numero:");
  125.     scanf("%d",&n1);
  126.     printf("\n\t\tDame segundo numero:");
  127.     scanf("%d",&n2);
  128.     x=n1/n2;
  129.     printf("\t\tn\nLa division es:");
  130.     printf("%f",x);
  131.     getch();
  132.     gotoxy(6,13);
  133.          printf("Presione 1 para realizar otra operacion sino presione cualquier tecla:");
  134.          scanf("%d",&b);
  135.          if(b==1)
  136.         {
  137.           clrscr();
  138.           goto vick;
  139.         }
  140.         else
  141.             {
  142.         textcolor(YELLOW);
  143.         textbackground(0);
  144.         clrscr();
  145.         gotoxy(15,40);printf("Echo por:\n");printf("Victor Vasquez\n");
  146.         getch();
  147.         }
  148.     break;
  149. case 5:
  150.     gotoxy(10,10);printf("Dame un numero:");
  151.     scanf("%d",&n1);
  152.     r=sqrt(n1);
  153.     gotoxy(11,11);printf("La raiz cuadrada es:%f",r);
  154.     getch();
  155.     gotoxy(6,13);
  156.          printf("Presione 1 para realizar otra operacion sino presione cualquier tecla:");
  157.          scanf("%d",&b);
  158.          if(b==1)
  159.         {
  160.           clrscr();
  161.           goto vick;
  162.         }
  163.         else
  164.             {
  165.         textcolor(YELLOW);
  166.         textbackground(0);
  167.         clrscr();
  168.         gotoxy(15,40);printf("Echo por:\n");printf("Victor Vasquez\n");
  169.         getch();
  170.         }
  171.     break;
  172. case 6:
  173.       gotoxy(10,10);printf("Dame la base:");
  174.       scanf("%d",&n1);
  175.       gotoxy(11,11);printf("Dame exponente:");
  176.       scanf("%d",&n2);
  177.       s=pow(n1,n2);
  178.       gotoxy(12,12);printf("%3d  ^ %3d = %3d",n1,n2,s);
  179.       getch();
  180.     gotoxy(6,13);
  181.          printf("Presione 1 para realizar otra operacion sino presione cualquier tecla:");
  182.          scanf("%d",&b);
  183.          if(b==1)
  184.         {
  185.           clrscr();
  186.           goto vick;
  187.         }
  188.         else
  189.             {
  190.         textcolor(YELLOW);
  191.         textbackground(0);
  192.         clrscr();
  193.         gotoxy(15,40);printf("Echo por:\n");printf("Victor Vasquez\n");
  194.         getch();
  195.         }
  196.       break;
  197. case 7:
  198.   gotoxy(10,10);printf("Dame un numero:");
  199.   scanf("%d",&n1);
  200.   s=pow(n1,3);
  201.   gotoxy(11,11);printf("El resultado es:%d",s);
  202.   getch();
  203.   gotoxy(6,13);
  204.          printf("Presione 1 para realizar otra operacion sino presione cualquier tecla:");
  205.          scanf("%d",&b);
  206.          if(b==1)
  207.         {
  208.           clrscr();
  209.           goto vick;
  210.         }
  211.         else
  212.             {
  213.         textcolor(YELLOW);
  214.         textbackground(0);
  215.         clrscr();
  216.         gotoxy(15,40);printf("Echo por:\n");printf("Victor Vasquez\n");
  217.         getch();
  218.         }
  219.   break;
  220. case 8:
  221.         printf("Ingrese un numero:");
  222.         scanf("%d",&n1);
  223.         r=sin(n1);
  224.         printf("El seno de este numero es:%f",r);
  225.         getch();
  226.  
  227.          gotoxy(6,13);
  228.          printf("Presione 1 para realizar otra operacion sino presione cualquier tecla:");
  229.          scanf("%d",&b);
  230.          if(b==1)
  231.         {
  232.           clrscr();
  233.           goto vick;
  234.         }
  235.         else
  236.             {
  237.         textcolor(YELLOW);
  238.         textbackground(0);
  239.         clrscr();
  240.         gotoxy(15,40);printf("Echo por:\n");printf("Victor Vasquez\n");
  241.         getch();
  242.         }
  243.         break;
  244. case 9:
  245. printf("Ingrese un numero:");
  246.         scanf("%d",&n1);
  247.         r=cos(n1);
  248.         printf("El coseno de este numero es:%f",r);
  249.         getch();
  250.  
  251.          gotoxy(6,13);
  252.          printf("Presione 1 para realizar otra operacion sino presione cualquier tecla:");
  253.          scanf("%d",&b);
  254.          if(b==1)
  255.         {
  256.           clrscr();
  257.           goto vick;
  258.         }
  259.         else
  260.             {
  261.         textcolor(YELLOW);
  262.         textbackground(0);
  263.         clrscr();
  264.         gotoxy(15,40);printf("Echo por:\n");printf("Victor Vasquez\n");
  265.         getch();
  266.         }
  267.         break;
  268. case 10:
  269.         printf("Ingrese un numero:");
  270.         scanf("%d",&n1);
  271.         r=tan(n1);
  272.         printf("La tangente de este numero es:%f",r);
  273.         getch();
  274.  
  275.          gotoxy(6,13);
  276.          printf("Presione 1 para realizar otra operacion sino presione cualquier tecla:");
  277.          scanf("%d",&b);
  278.          if(b==1)
  279.         {
  280.           clrscr();
  281.           goto vick;
  282.         }
  283.         else
  284.             {
  285.         textcolor(YELLOW);
  286.         textbackground(0);
  287.         clrscr();
  288.         gotoxy(15,40);printf("Echo por:\n");printf("Victor Vasquez\n");
  289.         getch();
  290.         }
  291.         break;
  292. case 11:
  293.         printf("Ingrese un numero:");
  294.         scanf("%d",&n1);
  295.         n2=abs(n1);
  296.         printf("El valor absoluto de este numero es:%d",n2);
  297.         getch();
  298.  
  299.          gotoxy(6,13);
  300.          printf("Presione 1 para realizar otra operacion sino presione cualquier tecla:");
  301.          scanf("%d",&b);
  302.          if(b==1)
  303.         {
  304.           clrscr();
  305.           goto vick;
  306.         }
  307.         else
  308.             {
  309.         textcolor(YELLOW);
  310.         textbackground(0);
  311.         clrscr();
  312.         gotoxy(15,40);printf("Echo por:\n");printf("Victor Vasquez\n");
  313.         getch();
  314.         }
  315.         break;
  316. case 12:
  317.         printf("Ingrese un numero:");
  318.         scanf("%d",&n1);
  319.         r=log(n1);
  320.         printf("El logaritmo de este numero es:%f",r);
  321.         getch();
  322.  
  323.          gotoxy(6,13);
  324.          printf("Presione 1 para realizar otra operacion sino presione cualquier tecla:");
  325.          scanf("%d",&b);
  326.          if(b==1)
  327.         {
  328.           clrscr();
  329.           goto vick;
  330.         }
  331.         else
  332.             {
  333.         textcolor(YELLOW);
  334.         textbackground(0);
  335.         clrscr();
  336.         gotoxy(15,40);printf("Echo por:\n");printf("Victor Vasquez\n");
  337.         getch();
  338.         }
  339.         break;
  340. default:
  341.  
  342.     gotoxy(21,11);printf("Error: Opcion incorrecta");
  343.     gotoxy(22,12);printf("Presione alguna tecla para continuar..");
  344.     getch();
  345.     goto vick;
  346.     break;
  347.     }
  348.     }
  349. }

Última edición por vick90; 20/04/2010 a las 02:05 Razón: espero te sirva de algo
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




La zona horaria es GMT -6. Ahora son las 13:51.