Cita de: superkorlas en 17 Mayo 2013, 09:09 AM
muchas gracias ya funciona perfectamente!!!!!
Lo reedite buscando la mejora visual. Espero hayas pillado "la última edición" y me alegra que te haya servido.
Saluditos!. ....
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: superkorlas en 17 Mayo 2013, 09:09 AM
muchas gracias ya funciona perfectamente!!!!!
Cita de: superkorlas en 17 Mayo 2013, 00:42 AM
Bueno y para evitar el goto Bucle (que incluso en el manual que estoy leyendo me dice que lo evite) como lo sustituiria . Y en cuanto a lo de tantos endl es por que quiero que se limpie la pantalla, me podrias explicar como usaria lo que has puesto del cls ???
Muchas gracias por la ayuda
#include <iostream>
#include <cstring>
#include <cstdlib>
#define N 4
using namespace std;
struct Fulanito {
char Nombre[40];
int Telefono;
} Fulanito[N];
int main()
{
int i,z,buscaTel=0,indice;
char buscaNombre[40]={0};
for (i = 0; i < N; i++)
{
cout << " Introduce el nombre de la persona " << i+1 <<" de "<< N <<" :";
cin >> Fulanito[i].Nombre; cout << endl;
cout << " Introduce el numero telefonico de " << Fulanito[i].Nombre<< ": ";
cin >> Fulanito[i].Telefono;
cout << endl << endl;
}
system("cls");
while(1) {
indice=0;
cout << " ******************** MENU ********************* " << endl << endl << endl << endl << endl;
cout << " 1) Buscar por nombre " << endl << endl;
cout << " 2) Buscar por numero " << endl << endl;
cout << " 3) Salir " << endl << endl;
cout << " Que desea realizar: "; cin >> z;
system("cls");
if (z == 3) return 1;
else if (z == 1)
{
cout << " Introduce el nombre de la persona que desea buscar: ";
cin >> buscaNombre; cout << endl << endl;
for (i = 0; i < N ;i++)
{
if (strcmp(Fulanito[i].Nombre, buscaNombre)==0){
cout <<" Telefono de "<< Fulanito[i].Nombre <<": " << Fulanito[i].Telefono;
cout << endl << endl << endl;
indice++;
}
}
if (indice==0)
cout << "No existe en la base esa persona"<< endl<< endl<< endl;
}
else if (z == 2)
{
cout << " Introduce el numero de la persona que desea buscar: ";
cin >> buscaTel; cout << endl << endl;
for (i = 0; i<N ;i++)
{
if ((buscaTel==Fulanito[i].Telefono)){
cout << " Nombre: " << Fulanito[i].Nombre;
cout << endl << endl << endl;
indice++;
}
}
if (indice==0)
cout << "No existe en la base ese numero"<< endl<< endl<< endl;
}
else
cout<<"Opcion equivocada"<<endl<<endl<< endl;
}
return 0;
}
Cita de: Cönnectome en 16 Mayo 2013, 22:01 PM
................................................
Luego, para evitarte muchos cout << endl;, puedes hacer una funcion simple como la siguiente:
void MuchosCout(int numerodecouts)
{
for(int i=0;i<numerodecouts;++i)
cout << endl;
}
Cita de: Cönnectome en 16 Mayo 2013, 22:01 PM
Te compila?, veo que tienes varios errores, como:
Código:
cout << " Introduce el nombre de la persona: ";cin >> Fulanito.Nombre; cout << endl;
Cuando intentas acceder a un array, tienes que decirle a QUE POSICION QUIERES ACCEDER., es decir, Fulanito.Nombre[posicion].
Cita de: Caster en 16 Mayo 2013, 22:19 PM
Buff...arrays, aun no he tocado ese tema en el libro que estoy leyendo, de hecho, terminé con las funciones y ese es el que me toca ahora, así que lo leeré y después continuo con el problema, muchas gracias, cuando lo retome miraré otra vez tus consejos.
char capitulo1[15][20]={"pincel","pipa","Cine","Teatro", ....-y así hasta quince....}
char capi1[15][20]={0};
capitulo1[i]
for (i=0;i<15;i++)
for (j=0;j<strlen(capitulo1[i])-3;j++)
{
capi1[i] [j]=capitulo1[i] [j];
}
char capituloi[2][15][20]={{"pincel","pipa","Cine","Teatro", ....-y así hasta quince....},{"papel","tijera", ....-y así hasta quince....}}
char capi[2][15][20]={0};
Cita de: rir3760 en 14 Mayo 2013, 16:50 PM
Tienes razón, no era un problema sino dos (el uso del VLA y las dos variables sin inicializar).
¿O son tres? Lo menciono porque:
1) Debido a que la definición de la función main omite el tipo de retorno no se puede compilar como C99 (no seria valido).
2) La declaración del array "data" requiere compilar como C99.
...
Cita de: Luisa Ringo en 13 Mayo 2013, 17:48 PMHola
¿ Podrían ayudarme por favor?
Ingrese Nombre de Cines:
>sorancio
Ingrese Nombre de Cines:
>leosan
Ingrese Nombre de Cines:
>masakre
Ingrese Nombre de Cines:
>rir3760
Ingrese Nombre de Cines:
>pantalaimon
Cines ordenados alfabeticamente:
leosan
masakre
pantalaimon
rir3760
sorancio
Ingrese Nombre de Teatros:
>amchacon
Ingrese Nombre de Teatros:
>leosansan
Ingrese Nombre de Teatros:
>caster
Ingrese Nombre de Teatros:
>puntoinfinito
Ingrese Nombre de Teatros:
>do-while
Teatros ordenados alfabeticamente:>
amchacon
caster
do-while
leosansan
puntoinfinito
Teatros y Cines ordenados alfabeticamente:>
amchacon
caster
do-while
leosan
leosansan
masakre
pantalaimon
puntoinfinito
rir3760
sorancio
#include<stdio.h>
#include<string.h>
#define TAM 5
#define TAM2 2*TAM
#define TAM_NOMBRE 20
void bubblesort(char cines[][TAM_NOMBRE], int tam );
int main()
{
int i;
char cines[TAM][TAM_NOMBRE],teatros[TAM][TAM_NOMBRE],entretenimientos[TAM2][TAM_NOMBRE];
for(i=0;i<TAM;i++)
{
printf("\nIngrese Nombre de Cines:\n>");
scanf("%s",&cines[i]);
}
printf("\nCines ordenados alfabeticamente:\n");
bubblesort(cines,TAM);
for(i=0;i<TAM;i++)
printf("\n\t%s",cines[i]);
for(i=0;i<TAM;i++)
{
printf("\nIngrese Nombre de Teatros:\n>");
scanf("%s",&teatros[i]);
}
bubblesort(teatros,TAM);
printf("\nTeatros ordenados alfabeticamente:\n>");
for(i=0;i<TAM;i++)
printf("\n\t%s",teatros[i]);
for(i=0;i<TAM;i++)
strcpy(entretenimientos[i],teatros[i]);
for(i=TAM;i<TAM2;i++)
strcpy(entretenimientos[i],cines[i-TAM]);
bubblesort(entretenimientos,TAM2);
printf("\nTeatros y Cines ordenados alfabeticamente:\n>");
for(i=0;i<TAM2;i++)
printf("\n\t%s",entretenimientos[i]);
return 0;
}
void bubblesort(char nombre[][TAM_NOMBRE], int n )
{
int i,j,temp;
char temp_[TAM_NOMBRE];
float comp;
for(i=1;i<n;i++)
{
for(j=0;j<n-i;j++)
{
comp = strcmp( nombre[j], nombre[j+1] );
if(comp > 0)
{
strcpy(temp_,nombre[j]);
strcpy(nombre[j],nombre[j+1]);
strcpy(nombre[j+1],temp_);
}
}
}
}
Cita de: Schrödinger en 13 Mayo 2013, 19:24 PM
Quiero hacer un programa que genere N floats uniformemente distribuidos en un intervalo dado y que calcule la media y la dispersión mediante una función
...............................................................
Compila sin problemas pero los valores para la media y la varianza son incorrectos. El caso es que en una versión anterior del programa en la cual N no estaba pillado de la consola al menos la media funcionaba.
¿Alguna pista?
#include<stdio.h>
#include<stdlib.h>
#define GRACIAS puts("GRACIAS POR SU PREFERENCIA")
int main(){
int a;
char opcion,opcion1;
puts("\nESTE PROGRAMA MUESTRA COMO ES EL SISTEMA DE UN CAJERO AUTOMATICO");
while(1){
puts ("\nDame tu clave");
scanf(" %d",&a);
if(a==123456){
system ("cls");
puts("\nEs correcto");
break;
}
else{
printf("\n Contraseña invalida");
printf("\nTeclea otra ves tu clave");
}
}
while (1){
system("\npause");
system ("cls");
puts("\nEste es el menu de opciones\n ");
puts("1.-Traspaso\n");
puts("2.-Recargas\n");
puts("3.-Retiro en efectivo\n");
puts("4.-Salir\n");
puts("\nTeclea la opcion que quieras\n");
scanf(" %c",&opcion);
switch(opcion)
{
case '1':
{
puts("Traspaso");
GRACIAS;
break;
}
case '2':
{
puts("Recargas");
GRACIAS;
break;
}
case '4':
{
puts("Elejiste la opcion de salir");
GRACIAS;
system("\npause");
return 1;
}
default:
puts("opcion erronea");
case '3':
{
system ("cls");
puts("\nRetiro en efectivo");
puts("\nCuanto deseas retirar:");
puts("\nElige la opcion que quieras para retirar");
puts("\nPuedes elegir:");
puts("1.- $20");
puts("2.- $50");
puts("3.- $100");
puts("4.- $200");
puts("5.- $500");
puts("6.- $1000");
puts("7.- Volver al menu principal");
puts("\nElige la opcion que quieras");
scanf("\n%c",&opcion1);
switch(opcion1)
{
case '1':
{
puts("Elegiste la opcion de $20");
GRACIAS;
break;
}
case '2':
{
puts("Elegiste la opcion de $50");
GRACIAS;
break;
}
case '3':
{
puts("Elegiste la opcion de $100");
GRACIAS;
break;
}
case '4':
{
puts("Elegiste la opcion de $200");
GRACIAS;
break;
}
case '5':
{
puts("Elegiste la opcion de $500");
GRACIAS;
break;
}
case '6':
{
puts("Elegiste la opcion de $1000");
GRACIAS;
break;
}
case '7':
{
puts("Elegiste la opcion de volver al menu principal");
GRACIAS;
break;
}
default:
puts("opcion erronea");
break;
}
}
}
}
return 0;
}