|
Mostrar Temas
|
Páginas: [1]
|
1
|
Programación / Programación C/C++ / mostrar contactos de una agenda por equipo
|
en: 24 Noviembre 2011, 18:01 pm
|
amigos tengo una agenda pero quiero una opcion de mostrar todos los contactos que sean del equipo caraquista aqui le dejo el codig paa ver si me pueden ayudar #include <stdio.h> struct _agenda { char nombre[20]; char telefono[12]; char equipo[20]; struct _agenda *siguiente; }; struct _agenda *primero, *ultimo; void mostrar_menu() { printf("\n\nMenu:\n=====\n\n"); printf("1.- Agregar elementos\n"); printf("2.- Borrar elementos\n"); printf("3.- Mostrar contacto\n"); printf("4.- Mostrar contacto magallanero\n"); printf("Escoge una opcion: ");fflush (stdout ); } void anadir_elemento() { struct _agenda *nuevo; /* reservamos memoria para el nuevo elemento */ nuevo = (struct _agenda *) malloc(sizeof(struct _agenda )); if (nuevo ==NULL ) printf( "No hay memoria disponible!\n"); printf("\nNuevo elemento:\n"); /* el campo siguiente va a ser NULL por ser el último elemento de la lista */ nuevo->siguiente = NULL; if (primero==NULL) { primero = nuevo; ultimo = nuevo; } else { /* el que hasta ahora era el último tiene que apuntar al nuevo */ ultimo->siguiente = nuevo; /* hacemos que el nuevo sea ahora el último */ ultimo = nuevo; } } void mostrar_lista() { struct _agenda *auxiliar; int i; i=0; auxiliar = primero; printf("\nMostrando la lista completa:\n"); while (auxiliar!=NULL) { printf( "Nombre: %s \n Telefono: %s \n equipo: %s\n", auxiliar->nombre,auxiliar->telefono,auxiliar->equipo); auxiliar = auxiliar->siguiente; i++; } if (i ==0) printf( "\nLa agenda esta vacia!!\n" ); } void mostrar_magallanes() { int x; struct _agenda *auxiliar; printf("\nLos contacto magallaneros son: \n"); for(x=0; x < 5; x++) { if(strcmp(primero ->equipo [x ],"magallanero") == 0) { printf("los contactos magallanero son"); printf("\nEl nombre es: %s \n",auxiliar ->nombre [x ]); printf ("el telefono: %s \n",auxiliar ->telefono [x ]); } } } void borrar_elemento(){ } int main() { char opcion; primero = (struct _agenda *) NULL; ultimo = (struct _agenda *) NULL; do { mostrar_menu(); switch ( opcion ) { case '1': anadir_elemento(); break; case '2': borrar_elemento(); break; case '3': mostrar_lista(primero); break; case '4': mostrar_magallanes(); break; default: printf( "Opción no válida\n" ); break; } } while (opcion!='5'); }
http://pastebin.com/SvxGbaRZen la linea 75 a 91 esta la funcion que mas o menos quiero pero no se trabajar con punteros
|
|
|
2
|
Programación / Programación C/C++ / quien me puede ayudar a pasar este codigo con punteros y memoria dinamica
|
en: 23 Noviembre 2011, 01:06 am
|
amigos quien me puede ayudar a pasar este codigo con punteros y con memoria dinamica ???' #include<stdio.h> #include<conio.h> #include <stdlib.h> #include <string.h> #define p printf #define s scanf struct contacto{ char equipo[40][80]; char nombre[40][80]; char telefono[40][80]; }c1; int cont=0; int numero; /** el numero del menu de opciones*/ int numerodeamigos; /** el numero de amigos que quiero agregar a la agenda */ int contadorAGREGAR; /** el contador del for agregar*/ int contadorELIMINAR; /** el contador del for de eliminar */ int x,y; main(void) { /*******************************************/ /*******************************************/ /************ MENU DE OPCIONES **************/ /*******************************************/ /*******************************************/ do { p("\n\tPOR FAVOR ELIJA UNA DE LAS SIGUIENTES OPCIONES\n\n\n\n"); p("\t1.AGREGAR CONTACTO\n"); p("\n\t2.MOSTRAR TODOS LOS CONTACTOS DE TU AGENDA \n\n"); p("\t3.MOSTRAR LOS CONTACTOS CARAQUISTA\n"); p("\t4.MOSTRAR LOS CONTACTOS MAGALLANEROS\n"); p("\t5.BUSCAR CONTACTO\n"); p("\t6.ELIMINAR CONTACTO\n"); switch(numero) { /*******************************************/ /*******************************************/ /************ AGREGA LOS CONTACTOS **************/ /*******************************************/ /*******************************************/ case 1:{ printf("cuantos amigos quiere agregar: "); scanf("%i",&numerodeamigos ); for (contadorAGREGAR=0; contadorAGREGAR<numerodeamigos; contadorAGREGAR++) { printf("ingrese el nombre: "); gets(c1. nombre[contadorAGREGAR ]); printf("Diga el equipo de su amigo: caraquista o magallanero \n"); gets(c1. equipo[contadorAGREGAR ]); printf("Ingrese el telefono: "); gets(c1. telefono[contadorAGREGAR ]); } } break; /*******************************************/ /*******************************************/ /*** MUESTRA LOS CONTACTO DE LA AGENDA *****/ /*******************************************/ /*******************************************/ case 2: { for (contadorELIMINAR=0; contadorELIMINAR<numerodeamigos; contadorELIMINAR++) /***abre el for */ { printf("\nEl nombre es: %s \n", &c1. nombre[contadorELIMINAR ]); printf ("el equipo es: %s \n",&c1. equipo[contadorELIMINAR ]); printf ("el telefono: %s \n",c1. telefono[contadorELIMINAR ]); } /**cierra el for**/ } /**cierra el case*/ break; /*******************************************/ /*******************************************/ /****** MUESTRA CONTACTOS CARAQUISTAS *******/ /*******************************************/ /*******************************************/ case 3: { for(x=0; x < numerodeamigos; x++) { if(strcmp(c1. equipo[x ],"caraquista") == 0) { printf("los contactos caraquista son"); printf("\nEl nombre es: %s \n", &c1. nombre[x ]); printf ("el telefono: %s \n",c1. telefono[x ]); } } } break; /*******************************************/ /*******************************************/ /****** MUESTRA CONTACTOS MAGALLANERO *******/ /*******************************************/ /*******************************************/ case 4: { for(y = 0; y < numerodeamigos; y++) { if(strcmp(c1. equipo[y ],"magallanero") == 0) { printf("los contactos magallanero son"); printf("\nEl nombre es: %s \n", &c1. nombre[y ]); printf ("el telefono: %s \n",c1. telefono[y ]); } } break; case 5: /****/ { char busca[40]; printf("\nBuscar contacto\n Ingrese el nombre del contacto:"); for(x=0;x<numerodeamigos;x++){ if(strcmpi(busca,c1.nombre[x])==0){ printf("\nNombre: %s\n", c1. nombre[x ]); printf("Telefono %s\n", c1. telefono[x ]); } } }break; /******/ case 6: { char busca1[40]; printf("\n eliminar contacto \n Ingrese el nombre del contacto:"); for(x=0;x<numerodeamigos;x++){ if(strcmpi(busca1,c1.nombre[x])==0){ printf("\nNombre: %s\n", c1. nombre[x ]); printf("Telefono: %s\n", c1. telefono[x ]); printf("Equipo: %s\n", c1. equipo[x ]); } } }break; }/**cierra el caso 4*/ } /***cierra el do***/ }/*** cierra el main **/ while(numero<9); }
|
|
|
3
|
Programación / Programación C/C++ / agenda en c... problema con mostrar contactos y buscar contacto en especifico
|
en: 18 Noviembre 2011, 22:39 pm
|
amigos tneog un problema con este codigo que despues que quiero mostrar los contactos de mi agenda me sale error tambien quiero agregarle que busque un contacto en especifico #include<stdio.h> #include<conio.h> #include <stdlib.h> #define p printf #define s scanf struct contacto{ char nombre[40]; long telefono; char equipo; }; typedef struct contacto tipo_contacto; int contador; int numerodeamigos; void main() { tipo_contacto c1; int numero; int i; do { p("\n\tPOR FAVOR ELIJA UNA DE LAS SIGUIENTES OPCIONES\n\n\n\n"); p("\t1.AGREGAR CONTACTO\n"); p("\n\t2.MOSTRAR CONTACTOS DE LA AGENDA \n\n"); switch(numero) { case 1:{ printf("cuantos amigos quiere agregar: "); scanf("%d",&numerodeamigos ); for (contador=0; contador<numerodeamigos; contador++) { printf("ingrese el nombre: "); printf("Ingrese el telefono: "); scanf("%d",&c1. telefono); } } break; case 2: { for (i=0; i<numerodeamigos; i++) /***abre el for */ { printf("El nombre es: %s, \n", c1. nombre); printf ("el equipo es: %s \n",c1. equipo); printf ("el telefono: %d \n",c1. telefono); } /**cierra el for**/ } /**cierra el case*/ break; } /***cierra el do***/ }/*** cierra el main **/ while(numero<7); return 0; }
|
|
|
4
|
Programación / Programación C/C++ / problema con ejercicio de agenda con punteros
|
en: 16 Noviembre 2011, 22:22 pm
|
amigos necesito crear agendas que lleve punteros dinamicos
lo primero que lleva obviamente es ingresar los amigos, nombre, numero de telefono
que elimine 1 amigo
que busque un amigo y apareza su numero de telefono y un listado general que muestre todo los contactos agregado
solo que lleva punteros y no se como hacerlo con punteros
si alguien me da una idea de mas o menos como empezar
#include <stdio.h> #include <stdlib.h> #include <string.h> #define p printf #define s scanf
typedef struct agenda{
char nombre;
char apellido;
int edad;
}; int *puntero;
typedef agenda *puntero;
main()
{
p("\ndiga el nombre de su amigo: "); s("%s",agenda.nombre); p("\ndiga el apellido de su amigo: "); s("%s",agenda.apellido);
p("\ndiga el numero de telefono de su amigo: "); s("%s",agenda.telefono); }
primero trato de hacerlo de 1 amigo pero no tengo ni idea de como hacerlo con puntero y structud
|
|
|
5
|
Programación / Programación C/C++ / problema con for en c (eliminar pila)
|
en: 4 Noviembre 2011, 04:15 am
|
estaba haciendo este programa que me mandaron en la universidad pero no logro eliminar las pilas que deseo, por ejemplo si agregue 5 pilas y quiero eliminar 4 me elimina es una sola y no logro que me elimine las cuatro de una vez aqui les dejo el codigo para que me puedan ayudar #include<stdio.h> #include<conio.h> #include <stdlib.h> #define p printf #define s scanf main () { int arreglo[10]; int numero=0; int tope=0; int x=0; int contador; int cantidad; int final; do { /**COMANDO PARA CAMBIAR COLOR A LA VENTANA**/ /** COMANDO PARA LIMPIAR LA PANTALLA **/ /*******************************************/ /*******************************************/ /************ MENU DE OPCIONES **************/ /*******************************************/ /*******************************************/ p("\n\tPOR FAVOR ELIJA UNA DE LAS SIGUIENTES OPCIONES\n\n\n\n"); p("\t\t\tPILA\n"); p("\n\t1.INGRESAR UN DATO A LA PILA \n\n"); p("\t2.MOSTRAR DATOS DE LA PILA\n\n"); p("\t3.ELIMINAR DATO DE LA PILA \n\n"); p("\t4.SALIR DEL PROGRAMA \n"); /***********************************************/ s("%i",&numero); switch(numero) { /*******************************************/ /*******************************************/ /****** AGREGAR ELEMENTO A LA PILA*********/ /*******************************************/ /*******************************************/ case 1:{ p("CUANTOS ELEMENTOS QUIERE AGREGAR A LA PILA "); for( contador = 1; contador <= cantidad; contador++ ){ p("\t INTRODIZCA EL DATO DE LA PILA NUMERO %d : ", contador); s("%i",&arreglo[tope]); tope++; } } break; /*******************************************/ /*******************************************/ /************ MUESTRA LAS PILA **************/ /*******************************************/ /*******************************************/ case 2: { if ( tope==0 ) { p("\t LA PILA ESTA VACIA"); } else { p("\tDATOS DE LA PILA\n\n"); for(x=0; tope>x ;x++) { p("\n\t%d ",arreglo[x]); } } } break; /*******************************************/ /*******************************************/ /****** ELIMINA DATO DE LA PILA *********/ /*******************************************/ /*******************************************/ case 3: { if (tope==0) { p("\n\t\t NO HAY PILA QUE RETIRAR"); } else { [b] p("CUANTOS DATOS QUIERE QUITAR DE LA PILA \? "); s("%d",&max); for ( max = 0; max<tope; max++); { tope--; p("LOS ELIMENTOS HAN SIDO ELIMINADOS"); [/b] } } } break; /*******************************************/ /*******************************************/ /******** SALE DEL PROGRMA ***********/ /*******************************************/ /*******************************************/ case 6: { return 0; } break; } } while(numero<7); }
|
|
|
6
|
Programación / Programación C/C++ / ayuda con agregar y eliminar pila
|
en: 30 Octubre 2011, 23:43 pm
|
amigos quien me puede ayudar a terminar este codigo o darme un manual sobre agregar pila y eliminarla y mostrarla casi todo los que consigo son con punteros #include <stdio.h> #include <stdlib.h> #include <conio.h> #define p printf #define s scanf
void agregar (void); void retirar (void); void mostrar (void);
/*********************************************************/
int pila[100],tope=0,max=1;
main() { char sc; system("cls"); system("color A");
/*** MENUU DE PILA Y COLA ***/
p("\n\t\t\t\aPROGRMA DE PILA Y COLA\n\n\t\t\t"); p(" \n\t\t\t**Presione 1 para agregar pilas\n\n"); p("\n\t\t\t**Presione 2 para eliminar pilas \n\n"); p("\n\t\t\t**Presione 3 para mostrar las pilas"); p("\n ");
sc=getch();
switch(sc)
{
case 1: agregar (); break; case 2 : retirar (); break; case 3 : mostrar (); break; }
/******otro menu*/ void agregar (void) ( char seguir
do { if (tope==10) ( p("\n\noverflow....\n\n"); system ("pause"); ) else ( p("\n\n intruduzca una numero"); tope=tope+1; s("%d",&pila[tope]; ) p("\n\n desea añador otro elemente s/n"); seguir=getch(); system("cls");
) while ((seguir=='s') || (seguir=='S') && (tope<max);
void retirar (void)
( system ("cls"); if (tope==0) { p("underflow presione una tecla ");
}
else { p("\n\n\nretirado %d de la pila\n\n", pila[tope]); system("pause"); pila[tope]=0; tope=tope=-1 } )
|
|
|
|
7
|
Programación / Programación C/C++ / problema de lenguaje C
|
en: 14 Julio 2011, 04:46 am
|
buenas amigos necesitaba una ayuda de ustedes y es si me podría ayudar hacer un programa en c para poderme guiar que tengo que hacer varios y tener una idea de mas o menos como hacerlo
el enunciado es desarrolle un programa que dimensione una matriz de Nfila por Ncolumna, conociendo que las columnas son vendedores y que las filas son sus respectivas ventas. calcular el promedio de ventas por vendedor y el promedio total de las ventas
|
|
|
8
|
Programación / Programación C/C++ / ayuda con pseudocodigo, crear tabla de multplicar
|
en: 28 Abril 2011, 02:38 am
|
quien me puede ayudar hacer una tabla de multplicar en pseudocodigo es para la universidad... el enunciado es asi..
desarrolle una tabla de multiplicar comprendida del 1 al 9 utilizando 2 vectores
segun lo que yo investigue hice algo asi pero no se si esta bien
algoritmo matrices variables a[10], b[10], numero
inicio mostrar " introduzca el numero "
hacer para ( i=1 ; i <=10 i++) { mostrar " /n %d x %d = %d numero, i, b[10] }
fin
|
|
|
|
|
|
|