¿Como aplicar un return c++?

curam
15 de Noviembre del 2008
El problema es que tengo un programita en c++ de switch case, y lo que quiero hacer es que cuando sellecciones un case realize la operacion o lo que se vaya hacer, y que no finalize el programa ahi , sino que de nuevo puedeas escojer otro de los case;
creo yo que ahi se utilizan los return, pero ps no se como , quisiera que me ayudaran en eso.
aqui esta le codigo por si las dudas
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main(void)
{
int n1,n2,n3,n,i,num[10]; n=1;i=0;
float ab,ac,ad,rf,rd,r,qw,qe,rs,vc,vb,ri,rk,zx...
float qy,qt,ru;
char letra,letra2;

printf("\nESCRIBIR EN MAYUSCULAS\n ");
printf("\nSELECCIONA UNA OPCION : \n \nA.-ESTRUCTURCA NORMAL\nB.-IF\nC.-SWITCH\nD.-WHILE\nE.-A...
scanf("%s",& letra);

switch (letra)
{

case \'A\':
{
printf("\nESTRUCTURA NORMAL [PORCENTAJE]\n ");
printf("\nINGRESE PRECIO DE ARTICULO 1: ");
scanf("%f",& ab);
printf("\nINGRESE PRECIO DE ARTICULO 2: ");
scanf("%f",& ac );
printf("\nINGRESE PRECIO DE ARTICULO 3: ");
scanf("%f",& ad );
r=ab+ac+ad;
rd=r*.25;
rf=r-rd;
printf("\nEL TOTAL CON DESCUENTO ES: %f", rf);
printf("\n\n\n\n");

break;


}

case \'B\':
{

printf("\nIF [MAYOR DE 3 NUMEROS]\n ");
printf("\nINGRESE PRIMER NUMERO: ");
scanf("%d",& n1);
printf("\nINGRESE SEGUNDO NUMERO: ");
scanf("%d",& n2);
printf("\nINGRESE TERCER NUMERO: ");
scanf("%d",& n3);
if(n1>n2)
{
if(n1>n3)

printf("\nEL NUMERO MAYOR ES: %d", n1);
printf("\n\n\n\n");
}
else
{
if(n2>n3)
printf("\nEL NUMERO MAYOR ES: %d", n2);

else
printf("\nEL NUMERO MAYOR ES: %d", n3);
printf("\n\n\n\n");
}
break;

}
case \'C\':
{
{
{
printf("\nSWITCH\n ");
printf("\nSELECCIONA LA OPERACION QUE DESEAS REALIZAR\n\nQ.-SUMAR\nW.-RESTAR\nE.-MULT...
scanf("%s",& letra2);
switch(letra2)
{
case\'Q\':
{


printf("\n[SUMANDO]\n ");
printf("\nINGRESA PRIMER NUMERO: ");
scanf("%f",& qw);
printf("\nINGRESA SEGUNDO NUMERO: ");
scanf("%f",& qe);
rs=qw+qe;
printf("\nEL RESULTADO DE LA SUMA ES: %f", rs);
printf("\n\n\n\n");



break;
}
case\'W\':
{
printf("\n[RESTANDO] \n ");
printf("\nINGRESA PRIMER NUMERO: ");
scanf("%f",& qt);
printf("\nINGRESA SEGUNDO NUMERO: ");
scanf("%f",& qy);
ru=qt-qy;
printf("\nEL RESULTADO DE LA RESTA ES: %f", ru);
printf("\n\n\n\n");

break;
}
case\'E\':
{
printf("\n[MULTIPLICANDO] \n ");
printf("\nINGRESA PRIMER NUMERO: ");
scanf("%f",& vc);
printf("\nINGRESA SEGUNDO NUMERO: ");
scanf("%f",& vb);
ri=vc*vb;
printf("\nEL RESULTADO DE LA MULTIPLICACION ES: %f", ri);
printf("\n\n\n\n");
break;
}
case\'R\':
{
printf("\n[DIVIDIENDO] \n ");
printf("\nINGRESA PRIMER NUMERO: ");
scanf("%f",& zx);
printf("\nINGRESA SEGUNDO NUMERO: ");
scanf("%f",& zc);
rk=zx/zc;
printf("\nEL RESULTADO DE LA DIVICION ES: %f", rk);
printf("\n\n\n\n");
break;
}
break;
}

break;
}
case\'D\':
printf("\nWHILE\n");
while (n<=15)
{
printf("\n\nCICLO: %d",n);
printf("\n\n\n\n");
n++;

}
break;
}

break;
}

case\'E\':
{
for (i=0;i<=9;i++)
{
printf("Dar dato para la localidad %d\n",i);
scanf("%d",& num[i]);
}
for (i=0;i<=9;i++)
printf("\nel numero en la localidad %d es %d\n",i,num[i]);



}
case\'F\':
printf("\nHASTA LUEGO\n\n");
printf("\nPRECIONE CUALQUIER TECLA PARA SALIR DE LA APLICACION");
printf("\n\n\n\n\n\n\n");

}
}

rolo_86
15 de Noviembre del 2008
holaaaaaa

rolo_86
15 de Noviembre del 2008
hola amigo disculpe las molestias ...
es q mi programa m sta volviedo loco nose como solucionarlo si sos tan amable si tens alguna solucion de enviarme a mi correo ([email protected])
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
typedef struct {
char matricula[5];
char carrera[2];
char apellido[20];
char nombre[20];
char tp[5];
char parcial[5];
char total[5];
}DATOS;
DATOS D[29];


void imprimir();
void recorrer();

int main()
{
abrir_archivo();
imprimir();
/*promedio_gral();
//matricula_vacia();
//puntaje_alto_IF(); */
getchar();
}

void abrir_archivo()
{

FILE *fptr;/*punteros al archivo*/
int i,j=0;
int a=0;

char cadena[40];
char c;
char *ptr;



*/

if ((fptr = fopen("libro2.csv","r")) == NULL)/*verifica si el archivo y se puede abrir,entonces existe*/
{
printf("No se pudo abrir el archivo");
exit(1);
}


fseek(fptr,136L,SEEK_CUR);

while ( ( c = fgetc(fptr) ) != EOF)
/*while(!feof(fptr))
//while (fgets(cadena, 100, fptr) != NULL)*/
{

if( ispunct(c) )

{




fscanf(fptr,"%s",&cadena);
/*printf("cad1:%sn",cadena);*/
j++;


ptr = strtok( cadena,";" );
strcpy(D[j].matricula,cadena );

while( (ptr = strtok( NULL,";" )) != NULL ) /*llamadas posteriores*/
{
strcpy(D[j].total,ptr );

/* strcpy(D[j].carrera,ptr );
strcpy(D[j].apellido,ptr );
strcpy(D[j].nombre,ptr );
strcpy(D[j].parcial,ptr );
strcpy(D[j].tp,ptr ); */


}
}
}
fclose(fptr);
}





void imprimir()
{

int i;
for(i=1;i<=29;i++)
{
printf("MATRICLA[%d]:");
puts(D[i].matricula);
printf("CARRERA:");
puts(D[i].carrera);
printf("APELLIDO:");
puts(D[i].apellido);
printf("NOMBRE:");
puts(D[i].nombre);
printf("PARCIAL:");
puts(D[i].parcial);
printf("T_PRACTICO:");
puts(D[i].tp);
printf("ACUMULADO:");
puts(D[i].total);
printf("n");

}
}
este el programa y necesito leer estos datos desde un fichero .E.j:54624;IF;arrua;juan;2;5;7
y cargarlo a la estructura...
gracias por los tiempos dedicadosy por fa ayudame....