/* FUNCIONES DE ARRAYS*/
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
struct producto {
char nombre[50];
float precio;
int cantidad;
};
struct alumno {
char nombre[50];
float nota;
};
int main (){
int op;
do{
printf("**************** MENU PRINCIPAL *****************\n");
printf("1- Numeros enteros de 1 a 100 en orden ascendente\n");
printf("2- Numeros enteres de 1 a 100 en orden descendente\n");
printf("3- Numeros primos de 1 a 100 en orden ascendente\n");
printf("4- Numeros pares de 1 a 100 en orden ascendente\n");
printf("5- Numeros impares de 1 a 100 orden ascendente\n");
printf("6- Numeros: Suma, resta, multiplicacion, division\n");
printf("7- 10 numeros que los ordene de forma ascendente\n");
printf("8- 10 numeros por teclado, 5 distintos por array\n");
printf("9- 5 numeros tecleados multiplicados por dos\n");
printf("10- 5 numeros multiplicados por dos ordenados\n");
printf("11- Array con 100 numeros pares, muestre su suma\n");
printf("12- 10 numeros tecleados y que muestre la media\n");
printf("13- Muestre numeros positivos y negativos por array\n");
printf("14- Array con 20 numeros y luego busque un numero\n");
printf("15- Programa que pinte un tablero de ajedrez\n");
printf("16- Muestre 100 numeros de izquierda a derecha\n");
printf("17- 100 numeros de izquierda a derecha 2 dimensiones\n");
printf("18- Rellene array de dos dimensiones con numeros pares\n");
printf("19- Rellene una matriz de 3x3 y muestre su respuesta\n");
printf("20- Que lea una cadena y la muestre al revés\n");
printf("21- Que lea una cadena y diga cuantas vocales hay\n");
printf("22- Que lea una cadena y diga cuantas mayúsculas hay\n");
printf("23- Que lea una cadena y encripte sumando 3 al codigo ASCII\n");
printf("24- Que gestione los datos de stock de una tienda\n");
printf("25- Que gestiona las notas de una clase de 20 alumnos\n");
printf("\n");
printf("\n");
printf("-------------------- 26 SALIR --------------------\n");
printf("\n");
printf("----------------- INGRESE SU OPCION --------------\n");
printf("\n");
scanf("%d",&op);
switch (op){
case 1:
{
int x,tabla[100];
for (x=1;x<=100;x++)
{
tabla[x]=x;
}
for (x=1;x<=100;x++)
{
printf("%d\n",tabla[x]);
}
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 2:
{
int x,tabla[100];
for (x=1;x<=100;x++)
{
tabla[x]=x;
}
for (x=100;x>=1;x--)
{
printf("%d\n",tabla[x]);
}
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 3:
{
int x,cont,z,i,tabla[100];
i=0;
for (x=1;x<=100;x++)
{
cont=0;
for (z=1;z<=x;z++)
{
if (x%z==0)
{
cont++;
}
}
if (cont==2 || z==1 || z==0)
{
tabla[i]=x;
i++;
}
}
for (x=0;x<i;x++)
{
printf("%d\n",tabla[x]);
}
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 4:
{
int x,cont,z,i,tabla[100];
i=0;
for (x=1;x<=100;x++)
{
cont=0;
if (x%2==0)
{
tabla[i]=x;
i++;
}
}
for (x=0;x<i;x++)
{
printf("%d\n",tabla[x]);
}
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 5:
{
int x,cont,z,i,tabla[100];
i=0;
for (x=1;x<=100;x++)
{
cont=0;
if (x%2==1)
{
tabla[i]=x;
i++;
}
}
for (x=0;x<i;x++)
{
printf("%d\n",tabla[x]);
}
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 6:
{
int x,tabla[10];
int sum,res,mul;
float div;
for (x=0;x<10;x++)
{
printf("Introduzca numero\n");
scanf("%d",&tabla[x]);
}
printf ("\n");
sum=tabla[0];
res=tabla[0];
mul=tabla[0];
div=tabla[0];
for (x=1;x<10;x++)
{
sum=sum+tabla[x];
res=res-tabla[x];
mul=mul*tabla[x];
div=(float)div/tabla[x];
}
printf("Suma: %d\n",sum);
printf("Resta: %d\n",res);
printf("Multiplicacion: %d\n",mul);
printf("Division: %f\n",div);
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 7:
{
float aux, numeros[10];
int i,j,n=10;
for (i=0;i<n;i++){
printf("Escriba un numero\n");
scanf("%f",&numeros[i]);
}
printf ("\n");
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(numeros[i]<numeros[j])
{
aux=numeros[i];
numeros[i]=numeros[j];
numeros[j]=aux;
}
}
}
for (i=n-1;i>=0;i--){
printf("%f\n",numeros[i]);
}
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 8:
{
int aux, numeros1[5],numeros2[5],numeros3[10];
int i,j;
for (i=0;i<5;i++){
printf("Escriba un numero\n");
scanf("%d",&numeros1[i]);
}
for (i=0;i<5;i++){
printf("Escriba un numero\n");
scanf("%d",&numeros2[i]);
}
printf ("\n");
for(i=0;i<5;i++)
{
numeros3[i]=numeros1[i];
}
for(i=0;i<5;i++)
{
numeros3[5+i]=numeros2[i];
}
for (i=0;i<10;i++){
printf("%d\n",numeros3[i]);
}
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 9:
{
int aux, numeros1[5],numeros2[5];
int i,j;
for (i=0;i<5;i++){
printf("Escriba un numero\n");
scanf("%d",&numeros1[i]);
}
printf ("\n");
for(i=0;i<5;i++)
{
numeros2[i]=numeros1[i]*2;
}
for (i=0;i<5;i++){
printf("%d\n",numeros2[i]);
}
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 10:
{
int aux, numeros1[5],numeros2[5],numeros3[10];
int i,j;
for (i=0;i<5;i++){
printf("Escriba un numero\n");
scanf("%d",&numeros1[i]);
}
printf ("\n");
for(i=0;i<5;i++)
{
numeros2[i]=numeros1[i]*2;
}
for(i=0;i<5;i++)
{
numeros3[i]=numeros1[i];
}
for(i=0;i<5;i++)
{
numeros3[5+i]=numeros2[i];
}
for (i=0;i<10;i++){
printf("%d\n",numeros3[i]);
}
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 11:
{
int x,cont,sum,i,tabla[100];
i=0;
sum=0;
for (x=1;x<=100;x++)
{
cont=0;
if (x%2==0)
{
tabla[i]=x;
i++;
}
}
for (x=0;x<i;x++)
{
sum=sum+tabla[x];
}
printf("%d\n",sum);
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 12:
{
float sum, numeros1[10];
int i;
sum=0;
for (i=0;i<10;i++){
printf("Escriba un numero\n");
scanf("%f",&numeros1[i]);
}
printf ("\n");
for(i=0;i<10;i++)
{
sum=sum+numeros1[i];
}
printf("%f\n",sum/10);
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 13:
{
float aux, numeros[10];
int i,j,n=10;
for (i=0;i<n;i++){
printf("Escriba un numero\n");
scanf("%f",&numeros[i]);
}
printf ("\n");
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(numeros[i]<numeros[j])
{
aux=numeros[i];
numeros[i]=numeros[j];
numeros[j]=aux;
}
}
}
for (i=n-1;i>=0;i--){
printf("%f\n",numeros[i]);
}
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 14:
{
int i,x=0,vector[20], n=20, dato, centro,inf=0,sup=n-1;
for (i=0;i<20;i++){
printf("Escriba un numero\n");
scanf("%d",&vector[i]);
}
printf("Escriba el numero a buscar\n");
scanf("%d",&dato);
while(inf<=sup)
{
centro=(sup+inf)/2;
if (vector[centro]==dato)
{
printf("Existe\n");
x=1;
break;
}
else if(dato < vector [centro] )
{
sup=centro-1;
}
else
{
inf=centro+1;
}
}
if (x==0)
{
printf("No existe\n");
}
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 15:
{
int x,y;
for (x=0;x<8;x++)
{
for (y=0;y<8;y++)
{
//peones
if (x==1 || x==6)
{
printf("P");
}
//torres
else if ((x==0 && y==0) ||
(x==7 && y==0) ||
(x==0 && y==7) ||
(x==7 && y==7)
)
{
printf("T");
}
//caballos
else if ((x==0 && y==1) ||
(x==7 && y==1) ||
(x==0 && y==6) ||
(x==7 && y==6)
)
{
printf("C");
}
//alfiles
else if ((x==0 && y==2) ||
(x==7 && y==2) ||
(x==0 && y==5) ||
(x==7 && y==5)
)
{
printf("A");
}
//reina
else if ((x==0 && y==3) ||
(x==7 && y==3)
)
{
printf("M");
}
//rey
else if ((x==0 && y==4) ||
(x==7 && y==4)
)
{
printf("R");
}
else
{
printf(" ");
}
}
printf("\n");
}
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 16:
{
int x,y, numeros[10][10];
for (x=0;x<10;x++)
{
for (y=0;y<10;y++)
{
numeros[x][y]=(x*10)+1+y;
}
}
for (x=0;x<10;x++)
{
for (y=0;y<10;y++)
{
printf("%d ",numeros[x][y]);
}
printf("\n");
}
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 17:
{
int x,y,sum, numeros[11][10];
for (y=0;y<10;y++)
{
sum=0;
for (x=0;x<10;x++)
{
numeros[x][y]=(x*10)+1+y;
sum=sum+numeros[x][y];
}
numeros[10][y]=sum;
}
for (x=0;x<11;x++)
{
for (y=0;y<10;y++)
{
printf("%d ",numeros[x][y]);
}
printf("\n");
}
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 18:
{
int x,y,num=2, numeros[3][3];
for (x=0;x<3;x++)
{
for (y=0;y<3;y++)
{
numeros[x][y]=num;
num=num*2;
}
}
printf("Introduzca coordenada x: ");
scanf("%d",&x);
printf("Introduzca coordenada y: ");
scanf("%d",&y);
printf("El numero es: %d\n",numeros[x][y]);
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 19:
{
int x,y,num=0, numeros[4][4];
for (x=0;x<3;x++)
{
for (y=0;y<3;y++)
{
numeros[x][y]=num;
num++;
}
}
printf("El array original es: \n\n\n");
for(x = 0;x < 3;x++)
{
for(y = 0;y < 3;y++)
{
printf(" %d ", numeros[x][y]);
}
printf("\n\n\n");
}
printf("La traspuesta es: \n\n\n");
for(x = 0;x < 3;x++)
{
for(y = 0;y < 3;y++)
{
printf(" %d ", numeros[y][x]);
}
printf("\n\n\n");
}
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 20:
{
int indice,x;
char frase[50];
printf("Introduzca una frase: ");
scanf("%s",frase);
for(x = 0;x < 50;x++)
{
if (frase[x]=='\0')
{
indice=x;
break;
}
}
printf("La frase al reves es: \n\n");
for(x = indice-1;x >=0;x--)
{
printf("%c",frase[x]);
}
printf("\n\n");
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 21:
{
int sum=0,x;
char frase[50];
printf("Introduzca una frase: \n");
scanf("%s",frase);
for(x = 0;x < 50;x++)
{
switch (frase[x])
{
case 'a':
sum++;
break;
case 'e':
sum++;
break;
case 'i':
sum++;
break;
case 'o':
sum++;
break;
case 'u':
sum++;
break;
default:
break;
}
}
printf("\n\nEn la frase hay %d vocales\n\n",sum);
printf("\n\n");
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 22:
{
int sum=0,x, len;
char frase[50];
printf("Introduzca una frase: ");
scanf("%s",frase);
len = strlen(frase);
char frase2[len];
for(x = 0;x < len;x++)
{
if (frase[x]>=65 && frase[x]<=90)
{
sum++;
}
}
printf("\n\nEn la frase hay %d mayusculas\n\n",sum);
printf("\n\n");
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 23:
{
int sum=0,x;
char frase[50];
printf("Introduzca una frase: \n");
scanf("%s",frase);
for(x = 0; x < 50;x++)
{
if (frase[x]!='\0')
{
frase[x]=frase[x]+3;
}
}
printf("\n\nLa nueva frase es:\n\n",sum);
printf("\n\n%s\n\n",frase);
printf("\n\n");
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 24:
{
struct producto prod,productos[10];
int x,opcion=1;
for (x=0;x<10;x++)
{
strcpy(productos[x].nombre,"X");
productos[x].precio=0;
productos[x].cantidad=0;
}
while ((opcion==1 || opcion==2 || opcion==3) && (opcion!=4))
{
printf("1- Alta de producto\n");
printf("2- Buscar por nombre\n");
printf("3- Modificar stock y precio\n");
printf("4- Salir\n");
printf("Introduzca una opcion:\n ");
scanf("%d",&opcion);
if (opcion==1)
{
printf("Introduzca un nombre:\n ");
gets(prod.nombre);
gets(prod.nombre);
printf("Introduzca un precio: \n");
scanf("%f",&prod.precio);
printf("Introduzca un stock: \n");
scanf("%d",&prod.cantidad);
for(x = 9; x >=0; x--)
{
if (x!=0)
{
strcpy(productos[x].nombre,productos[x-1].nombre);
productos[x].precio=productos[x-1].precio;
productos[x].cantidad=productos[x-1].cantidad;
}
else
{
strcpy(productos[x].nombre,prod.nombre);
productos[x].precio=prod.precio;
productos[x].cantidad=prod.cantidad;
}
}
printf("\nProducto creado. \n\n");
}
else if (opcion==2)
{
printf("Introduzca un nombre: \n");
gets(prod.nombre);
gets(prod.nombre);
for(x = 0; x < 10;x++)
{
if (strcmp(productos[x].nombre,prod.nombre)==0)
{
printf("\nNombre: %s\n",productos[x].nombre);
printf("Precio: %f\n",productos[x].precio);
printf("Cantidad en Stock: %d\n",productos[x].cantidad);
}
}
printf("\n\n");
}
else if (opcion==3)
{
printf("Introduzca un nombre:\n ");
gets(prod.nombre);
gets(prod.nombre);
for(x = 0; x < 10;x++)
{
if (strcmp(productos[x].nombre,prod.nombre)==0)
{
printf("Introduzca un precio:\n ");
scanf("%f",&productos[x].precio);
printf("Introduzca un stock: \n");
scanf("%d",&productos[x].cantidad);
printf("\nProducto modificado:\n");
}
}
printf("\n\n");
}
}
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
case 25:
{
struct alumno alum,alumnos[5];
int x,opcion=1;
float sum=0,cont=0,mejor,peor;
for (x=0;x<5;x++)
{
printf("Introduzca nombre alumno:");
gets(alumnos[x].nombre);
gets(alumnos[x].nombre);
printf("Introduzca nota:");
scanf("%f",&alumnos[x].nota);
}
while ((opcion==1 || opcion==2 ||
opcion==3 || opcion==4 ||
opcion==5 || opcion==6) && (opcion!=7))
{
printf("1- Buscar un alumno\n");
printf("2- Modificar nota\n");
printf("3- Media de todas las notas\n");
printf("4- Media de todas las notas inferiores a 5\n");
printf("5- Alumno con mejores notas\n");
printf("6- Alumno con peores notas\n");
printf("7- Salir\n");
printf("Introduzca una opcion: ");
scanf("%d",&opcion);
if (opcion==1)
{
printf("Introduzca un nombre: ");
gets(alum.nombre);
gets(alum.nombre);
for(x = 0; x < 5;x++)
{
if (strcmp(alumnos[x].nombre,alum.nombre)==0)
{
printf("\nNombre: %s\n",alumnos[x].nombre);
printf("Nota: %f\n",alumnos[x].nota);
}
}
printf("\n\n");
}
else if (opcion==2)
{
printf("Introduzca un nombre: ");
gets(alum.nombre);
gets(alum.nombre);
for(x = 0; x < 5;x++)
{
if (strcmp(alumnos[x].nombre,alum.nombre)==0)
{
printf("Introduzca una nota: ");
scanf("%f",&alumnos[x].nota);
printf("\nNota modificada:");
}
}
printf("\n\n");
}
else if (opcion==3)
{
sum=0;
for(x = 0; x < 5;x++)
{
sum=sum+alumnos[x].nota;
}
printf("\nLa media de las notas es de: %f \n",(sum/5));
}
else if (opcion==4)
{
sum=0;
cont=0;
for(x = 0; x < 5;x++)
{
if (alumnos[x].nota<5)
{
sum=sum+alumnos[x].nota;
cont++;
}
}
printf("\nLa media de las notas inferiores a 5 es: %f \n",sum/cont);
}
else if (opcion==5)
{
mejor=0;
for(x = 0; x < 5;x++)
{
if (alumnos[x].nota>mejor)
{
mejor=alumnos[x].nota;
alum.nota=alumnos[x].nota;
strcpy(alum.nombre,alumnos[x].nombre);
}
}
printf("\nEl alumno con mejores notas es: %s \n",alum.nombre);
}
else if (opcion==6)
{
peor=10;
for(x = 0; x < 5;x++)
{
if (alumnos[x].nota<peor)
{
peor=alumnos[x].nota;
alum.nota=alumnos[x].nota;
strcpy(alum.nombre,alumnos[x].nombre);
}
}
printf("\nEl alumno con peores notas es: %s \n",alum.nombre);
}
}
system("PAUSE");
printf("Ingrese opcion\n");
printf("Ingrese 1 para continuar\n");
printf("Ingrese 2 para salir del programa\n");
scanf("%d",&op);
if (op==2)
op=26;
}
break;
}
}
while(op!=26);
return 0;
No hay comentarios:
Publicar un comentario