Autor
|
Tema: calculadora + interrogatorio (Leído 3,133 veces)
|
peterfly
Desconectado
Mensajes: 94
|
hoy estaba jugando a un juego de sumas... y me preguntaba que si se puede juntar los dos siguientes codigos codigo 1 #include <cstdlib> #include <iostream> #include <stdio.h> int main() { unsigned long long int a,b; printf("primer numero:"); scanf(" %llu", &a); printf("segon numero:"); scanf(" %llu", &b); printf("el resultat es %llu", a+b); system("PAUSE"); return EXIT_SUCCESS; } codigo 2 *preguntes i respostes*/ #include <cstdlib> #include <iostream> #include <stdio.h> #include <string.h> int main (void) { int i; char cadena1[40]=""; char respuesta =0; do{ printf("pregunta \n \n"); printf("escriba la pregunta: "); gets(cadena1); i= strcmp(cadena1,"cuantos años tengo"); if (i==0){ printf("10"); } i= strcmp(cadena1,"de donde soy"); if (i==0){ printf("valencia"); }
std::cout << "\n\ndesea continuar (S o N o C)?\n"; std::cin >> respuesta; setbuf(stdin,NULL); switch (respuesta){ case 's': printf("ha salido con la respuesta s\n\n\n"); break;
case 'c': printf("\nprograma creado por\nGUILLEM BORRAS I MARTI"); break;
case 'n': printf("ha salido con la respuesta n"); return false; break; default: printf("ha salido sin la letra n o s"); return false; break; } }while ((respuesta =='s')||(respuesta == 'S')); getchar(); return 0; } alguien me puede ayudar a juntarlos??? gracias de antemano
|
|
|
En línea
|
|
|
|
|
peterfly
Desconectado
Mensajes: 94
|
la verdad es que si... pero se puede??? como???... no lo se... por eso lo preguntaba...
|
|
|
En línea
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
Es posible, la forma mas facil es colocando el codigo de cada programa en una funcion (por supuesto con las correcciones pertinentes). Un empujon: #include <iostream> using std::cout; using std::endl; #include <cstdio> using std::printf; using std::scanf; void fn_programa_a(); void fn_programa_b(); int main() { fn_programa_a(); fn_programa_b(); return 0; } void fn_programa_a() { unsigned long a; unsigned long b; printf("primer numero:"); scanf("%lu", &a); printf("segon numero:"); scanf("%lu", &b); printf("el resultat es %lu", a+b); } void fn_programa_b() { // codigo del segundo programa ... }
Dos detalles a considerar: 1) Casi no utilizas las facilidades del lenguaje C++ y 2) El tipo "long long" no existe en C++ estandar (pero si en C99). Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
peterfly
Desconectado
Mensajes: 94
|
he puesto el siguente codigo #include <iostream> using std::cout; using std::endl; #include <cstdio> using std::printf; using std::scanf; void fn_programa_a(); void fn_programa_b(); int main() { fn_programa_a(); fn_programa_b(); return 0; } void fn_programa_a() { unsigned long a; unsigned long b; printf("primer numero:"); scanf("%lu", &a); printf("segon numero:"); scanf("%lu", &b); printf("el resultat es %lu", a+b); } void fn_programa_b() { unsigned long a; unsigned long b;
int i; char cadena1[40]=""; char respuesta =0; do{ printf("pregunta \n \n"); printf("escriba la pregunta: "); gets(cadena1); i= strcmp(cadena1,"cuantos años tengo"); if (i==0){ printf("10"); } i= strcmp(cadena1,"de donde soy"); if (i==0){ printf("valencia"); }
std::cout << "\n\ndesea continuar (S o N o C)?\n"; std::cin >> respuesta; setbuf(stdin,NULL); switch (respuesta){ case 's': printf("ha salido con la respuesta s\n\n\n"); break;
case 'c': printf("\nprograma creado por\nGUILLEM BORRAS I MARTI"); break;
case 'n': printf("ha salido con la respuesta n"); return false; break; default: printf("ha salido sin la letra n o s"); return false; break; } }while ((respuesta =='s')||(respuesta == 'S')); }
y donde pone me dice el siguiente error return-statement with a value, in funcion returning 'void'
|
|
|
En línea
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
Porque al declarar la funcion: void fn_programa_b();
Se esta indicando que ella no retorna un valor, si vas a utilizar la sentencia de retorno esta debe ser: return;
Pero como esta tu programa lo mejor es simplemente eliminarla. Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
peterfly
Desconectado
Mensajes: 94
|
muxas gracias amigo... aora me falta que al principio me pregunte si quiero usar la calculadora o si quiero usar el interrogatorio...
|
|
|
En línea
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
Para eso solo debes crear un menú donde el usuario elija la opción y en base a esta se llame a una de las funciones.
Inténtalo, no es difícil.
Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
peterfly
Desconectado
Mensajes: 94
|
He puesto el siguiente codigo /*calculadora + interrogatori*/
#include <stdio.h> #include <cstdlib> #include <iostream> #include <string.h>
int main() { int opcion;
do{ printf("\n *** MENU *** \n"); printf("\n 1. Calculadora\n"); printf("\n 2. Interrogatorio"); printf("\n Selecciona una opcio: "); scanf("%d",&opcion);
}while(opcion < 1 || opcion > 2); switch(opcion) { case 1: unsigned long long int a,b; printf("\n ***CALCULADORA***\n"); printf("primer numero:"); scanf(" %llu", &a); printf("segon numero:"); scanf(" %llu", &b); printf("el resultat es %llu", a+b); break;
case 2: char cadena1[40]=""; char respuesta =0; do{ printf("\n ***INTERROGATORIO***\n"); printf("escriba una pregunta: "); gets(cadena1); { int i; i= strcmp(cadena1,"cuantos años tengo"); if (i==0){ printf("pocos"); } i= strcmp(cadena1,"cuando naci"); if (i==0){ printf("no me acuerdo"); break; } getche(); return 0; }
Y donde pone: me dice "error" y no consigo resolverlo... me podeis ayudar??? gracias
|
|
|
En línea
|
|
|
|
peterfly
Desconectado
Mensajes: 94
|
no me di cuenta... envez de poner puse pero sigo con el problema de antes pero envez de en esa parte solo me dice error en el ultimo "}"
|
|
|
En línea
|
|
|
|
|
|