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
es una pregunta algo rara :xD
la verdad es que si... pero se puede??? como???... no lo se... por eso lo preguntaba...
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
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
return false;
me dice el siguiente error
return-statement with a value, in funcion returning 'void'
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
muxas gracias amigo... aora me falta que al principio me pregunte si quiero usar la calculadora o si quiero usar el interrogatorio...
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
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:
getche();
return 0;
}
me dice "error" y no consigo resolverlo... me podeis ayudar???
gracias
no me di cuenta... envez de poner
getchar();
puse
getche();
pero sigo con el problema de antes pero envez de en esa parte solo me dice error en el ultimo "}"