• No se han encontrado resultados

PROGRAMA. /**************************************************************************

N/A
N/A
Protected

Academic year: 2021

Share "PROGRAMA. /**************************************************************************"

Copied!
8
0
0

Texto completo

(1)

PROGRAMA.

Diseñe un programa que realice lo siguiente:

 Pida el nombre al usuario

 De la bienvenida.

 Que muestre un menú con lo siguiente:

o Sumar dos matrices de 2x3.

o Cambiar el nombre y convertirlo en mayúscula, y retornar el largo de la cadena.

o Muestre la cadena original.

o Salir, preguntando si Si o si No.

/**************************************************************************

**Programa que pide el nombre, realiza la suma de dos matrices, cambia el **

**nombre a mayusculas, y te permite cambiar el nombre **

***************************************************************************/

#include<stdio.h>

#include<conio.h>

#include<dos.h>

#include<ctype.h>

#include<stdlib.h>

#include<time.h>

int suma(int a[2][3],int b[2][3]); int llenar(int a[2][3], int b[2][3]);

void opcion(int *c);void cadena (char nombre[30]); void salir(void);

void ya(void);

char nombre[30]={0}; //se declara la cadena que contendra al nombre del usuario

char mayu[30]={0}; //se declara la cadena que guardara una copia del nombre del usuario

main(){

int c=0; // se declara la variable "c" la que permitira escoger alguna opcion clrscr();

printf("Introduzca su nombre: ");

gets(nombre); // se lee el nombre del usuario

(2)

do{

clrscr();

printf("Bienvenido ");

printf("%s",nombre);

printf(",que deseas hacer? ");

printf("\n 1.-Sumar 2 matrices 2x3.\n 2.-Cambiar el nombre y convertirlo en mayuscula.\n 3.- Muestre el nombre original.\n 4.-Salir del programa.\n");

scanf("%d",&c); // se lee la variable "c" que se explico con anterioridad opcion(&c); //llama a la funcion "opcion", esta realizara las diversas opciones

}while(c!=4); // va a permitir que se repita esta informacion en la pantalla hasta que se desee salir

return 0;

}

void opcion(int *c){

int a[2][3]={0};//se declara la matriz A int b[2][3]={0};// se declara la matriz B char sal,ol;

switch((*c)){

case 1:

llenar(a,b); // si C es 1 se llamara a la funcion "llenar" (que se vera mas adelante)

break;

case 2:

cadena(nombre); // si C es 2 se llamara a la funcion "cadena" (que se vera mas adelante)

break;

case 3:

printf("El nombre original es: %s",mayu); // muestra el nombre original del usuario

getch();

break;

case 4:

(3)

salir(); //llama a la funcion "salir" que se explicara mas adelante break;

default:

printf("\nAh introducido una opcion no valida...!!!");

/* para el caso en que C no sea un valor de 1 al 4, el mostrara en pantalla este mensaje*/

sleep(1);// coloca un retardo de 1 segundo en el programa }

}

int llenar(int a[2][3], int b[2][3]){

/*La funcion "llenar" permitira llenar las matrices con valores, ya sean aleatorios o sean introducidos por el usuario */

int i,j; // se declaran las variables de los indices de las matrices

char u,g; // se declaran las variables de caracter "u" y "g" que permitira escoger una opcion o otra

clrscr();

printf("\n se llenara a continuacion la matriz A...\n A.-Desea llenar la matriz ud?\n B.-Desea que el sistema lo haga?\n");

u=getch(); // se lee la variable "u"

switch(u){

case 'a':

case 'A':/*En el caso de que "u" sea esta opcion el usuario debera llenar las matrices con los valores que el desee */

for(i=0;i<2;i++)

for(j=0;j<3;j++){

printf("\nIntroduzca el valor de A[%d][%d]= ",i,j);

scanf("%d",&a[i][j]);

} break;

case 'b':

case 'B': /*En el caso de que "u" se igual a b o B, las matrices seran

(4)

llenadas aleatoriamente */

randomize(); /*crea un punto de partida para "random"

tomando del valor del tiempo trancurrido los valores*/

for(i=0;i<2;i++)

for(j=0;j<3;j++){

a[i][j]=random(513)-256;

/* Aleatoriamente son tomados valores para llenar la matriz A, este rango de valores va desde -256 hasta 256*/

} break;

}

printf("\n se llenara a continuacion la matriz B...\n A.-Desea llenar la matriz ud?\n B.-Desea que el sistema lo haga?\n");

g=getch(); // se lee la varible "g"

switch(g){

case 'a':

case 'A':/*En el caso de que "g" sea esta opcion el usuario debera llenar las matrices con los valores que el desee */

for(i=0;i<2;i++)

for(j=0;j<3;j++){

printf("\nIntroduzca el valor de B[%d][%d]= ",i,j);

scanf("%d",&b[i][j]);

} break;

case 'b':

case 'B': /*En el caso de que "g" se igual a b o B, las matrices seran llenadas aleatoriamente */

randomize(); /*crea un punto de partida para tomar los valores al azar, tomando del valor del tiempo trancurrido los valores*/

for(i=0;i<2;i++)

(5)

for(j=0;j<3;j++){

b[i][j]=random(513)-256;

/* Aleatoriamente son tomados valores para llenar la matriz B, este rango de valores va desde -256 hasta 256*/

} break;

} suma(a,b);

//llama a la funcion suma, que realizara como su nombre lo indica la suma de las matrices return 0;

}

int suma(int a[2][3],int b[2][3]){

int i=0,j=0; //son declaradas los indices de las matrices.

int s[2][3]={0}; // se declara la matriz suma, que contendra la suma de A+B clrscr();

for(i=0;i<2;i++)

for(j=0;j<3;j++){

s[i][j]=a[i][j]+b[i][j]; // se realiza la suma de A+B y se almacena el S }

for(i=0;i<2;i++){

for(j=0;j<3;j++)

printf("%5d",a[i][j]); // el %5d deja 5 espacios cada vez que se imprime un valor printf("\n\n");// pasa a la linea siguiente y cominza desde la columna 1

/*Se muestra en pantalla la matriz A*/

}

printf("\n+\n");//imprime el signo "+" para indicar que se suma A + B for(i=0;i<2;i++){

for(j=0;j<3;j++)

printf("%5d",b[i][j]);

printf("\n\n");

(6)

//Igual que con la matriz A, esta imprime los valores de la matriz B }

printf("\n=\n");//imprime el signo de igualdad for(i=0;i<2;i++){

for(j=0;j<3;j++)

printf("%5d",s[i][j]);

printf("\n\n");

/*Se imprime la suma de las matrices, que es S*/

} getch();

return s[i][j];

}

void cadena (char nombre[30]){

/*La funcion cadena permite cambiarle el nombre del usuario, si es que lo desea*/

int m;// se declara "m" que es el indice de la cadena

strcpy(mayu,nombre);// se copia la cadena "nombre" a la cadena "mayu"

printf("la cadena original es: %s",mayu);

/* se imprime la cadena mayu que es la copia de la original*/

printf("\nLa cantidad de caracteres es: %d ",strlen(mayu));

/* el strlen permite mostrar la cantidad de caracteres existentes en la cadena mayu*/

printf("\nIntroduzca el nuevo nombre: ");

scanf("%s",nombre); // se lee el nuevo nombre del usuario

for(m=0;nombre[m];m++) //indica que se realizara la opcion varias veces nombre[m]=toupper(nombre[m]);

/**El toupper permite colocar en mayusculas los caracteres del nombre del usuario, en vista de que tiene un indice "m" (desconocido) colocara en mayusculas todos los

(7)

caracteres hasta que encuentre al caracter nulo (0) y esto sera almacenado en la misma cadena "nombre"*/

}

void salir (void){

//Permite al usuario preguntar si desa salir del programa

char ol;// se declara la variable "ol" que permite seleccionar una opcion u otra

printf("Esta seguro que desea salir (s/n)?");

do{ /*Este ciclo do-while permite que mientras no se pisen las teclas indicadas el programa no realice ninguna modificacion a lo que se muestra en pantalla*/

ol=getch();

}while((ol!='s') && (ol!='S') && (ol!='n') &&(ol!='N'));

switch(ol){

case 's':

case 'S':

clrscr();

printf("\nSaliendo del programa...");

delay(450); //coloca un retardo de 450milisegundo antes de finazilar el programa break;

case 'n':

case 'N':

ya(); //llama a la funcion "ya", que se explicara dentro de poco.

break;

}

}

void ya(void){

/* es utilizada unicamente para cuando el usuario no desea salir del programa y ya haya pisado la opcion 4 de la variable "c", esta funcion lo que hace es

(8)

mostrar el mismo menu que se tiene en un principio sin preguntar el nombre del usuario*/

int c;

do{

clrscr();

printf("Bienvenido ");

printf("%s",nombre);

printf(",que deseas hacer? ");

printf("\n 1.-Sumar 2 matrices 2x3.\n 2.-Cambiar el nombre y convertirlo en mayuscula.\n 3.-Muestre el nombre original.\n 4.-Salir del programa.\n");

scanf("%d",&c);

opcion(&c);

}while(c!=4);

}

Referencias

Documento similar

l) I think that immigrants, from non EU countries, should have the same rights that other EU citizens. b) Both as a citizen of my country and an European citizen.. This is the end

Por último, una vez que desde la coordinación del programa se realice la tarea anterior, el proceso culmina con la aceptación de la solicitud por parte de Presidente de la Comisión

Por último, una vez que desde la coordinación del programa se realice la tarea anterior, el proceso culmina con la aceptación de la solicitud por parte de Presidente de la Comisión

Para atender esa disposición, se desarrolla el siguiente programa continuo de capacitación por parte de los funcionarios asesores de planificación y presupuesto,

La AEPSAD ofrece total colaboración en el desarrollo de estos proyectos y en todas las actividades que puedan ser de interés para los patrocinadores en el ámbito de

Además esta cartera de complementos de formación propios del Programa de Doc- torado se abrirá y ofertará, siempre que la condiciones del proceso docente lo permitan y asegurando que

ANALISIS, LABORATORIO Y EXPERIMENTACION EN TECNICAS DE OCEANOGRAFIA, ECOLOGIA MARINA Y RECURSOS VIVOS

(Coevaluación) -Desarrollo de una experiencia de aprendizaje artístico en artes visuales, musicales o en artes escénicas (visual, psicomotriz o sonoro) para niñas y niños de 4 a 6