Menú

Mostrar Mensajes

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ú

Mensajes - twins

#21
Hola pruebalo ahora hice unas correcciones pequeñas solamente saludos  ;D

#include <stdlib.h>
#include <stdio.h>
typedef struct punt{
int dato;
struct punt *sig;
}nodo;
void insertar(nodo **lista,int i);
void suma(nodo **lista);
void mostrar(nodo **lista);
int main(void){
int i;
nodo *lista=NULL;
for(i=1;i<=100;i++){
if(i%2==0)
insertar(&lista,i);
}
mostrar(&lista);
suma(&lista);
system("pause");
return(0);
}
void insertar(nodo **lista, int i){
nodo *nuevo,*ultimo;
nuevo=(nodo*)malloc(sizeof(nodo));
nuevo->dato=i;         
if(*lista==NULL){
nuevo->sig=NULL;
*lista=nuevo;                     
}else{
ultimo=*lista;
while(ultimo->sig!=NULL)
ultimo=ultimo->sig;
    // cierre while
ultimo->sig=nuevo;
nuevo->sig=NULL;
// cierre if
}// cierre else
}// cierre funcion
void suma(nodo **lista){
int total=0;
nodo *aux;
if(*lista!=NULL){
aux=*lista;               
        while(aux->sig!=NULL){
total+=aux->dato;
            aux=aux->sig;
    }
}//cierre if
printf("\nTotal de la lista: %d\n",total);
}//cierre funcion
void mostrar(nodo **lista){
nodo *aux=*lista;
if(*lista!=NULL){
while(aux!=NULL){
printf("[%d]\n",aux->dato);
aux=aux->sig;
    }//cierre while
}//cierre if
}//cierre funcion
#22
Programación C/C++ / Re: [AYUDA] Con lista en C
12 Diciembre 2012, 22:03 PM
Por mas que trato no he podido comprender el codigo ajajaja, ademas yo uso un metodo diferente para crear las funciones solo logre ingresar los datos a la lista he imprimirlos por que lo demas no comprendo cual es su objetivo.
Dime una cosa esta es una especie de tarea? porque si es asi debe tener el enunciado talvez con eso logre entender que es lo que piden.  ;D

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
typedef struct proceso{
   int pid;
   int prioridad;
   char *comando;
   char *fecha;
   char *estado;
   struct proceso *sig;
}nodo;
void insertarEnLista(int pid,int prioridad,char comando[],char fecha[],char estado[],nodo **lista);
void imprimirLista(nodo **lista);
int main(void){
    nodo *lista=NULL;
    insertarEnLista(5,12,"pwd","19/05","ACT",&lista);
insertarEnLista(5,12,"pwd","19/05","ACT",&lista);
insertarEnLista(5,12,"pwd","19/05","ACT",&lista);
insertarEnLista(5,12,"pwd","19/05","ACT",&lista);
imprimirLista(&lista);
return(0);
}
void insertarEnLista(int pid,int prioridad,char comando[],char fecha[],char estado[],nodo **lista){
    nodo *nuevo,*aux=*lista;
nuevo=(nodo*)malloc(sizeof(nodo));
    if(nuevo!=NULL){
nuevo->pid=pid;
        nuevo->prioridad=prioridad;
        nuevo->comando=comando;
        nuevo->fecha=fecha;
        nuevo->estado=estado;
        if(*lista==NULL)
*lista=nuevo;
        else{
    while(aux->sig!=NULL)
aux=aux->sig;
            aux->sig=nuevo;
        }
    }
else
printf("no se dispone de memoria suficiente\n");
}
void imprimirLista(nodo **lista){
    nodo *aux=*lista;
while(aux!=NULL){
printf("[%d]->",aux->pid);
        printf("[%d]->",aux->prioridad);
        printf("[%s]->",aux->comando);
        printf("[%s]->",aux->fecha);
        printf("[%s]->",aux->estado);
        aux=aux->sig;
puts("\n");
    }
}
#23
Programación C/C++ / Re: [AYUDA] Con lista en C
12 Diciembre 2012, 03:25 AM
si es una lista enlazada el puntero que apunta al siguiente nodo debe de ser del mismo tipo de dato, ose en este caso struct proceso *sig;
struct proceso
{
   int pid;
   int prioridad;
   char *comando;
   char *fecha;
   char *status;

       //ojo con esta parte
   struct registro *sig;//apuntador a la siguiente estructura

};
#24
Programación C/C++ / Re: [AYUDA] Con lista en C
12 Diciembre 2012, 02:17 AM
Cual es el proposito del programa, es decir que entrega como resultado despues de ejecutarlo?
#25
tienes puesto el programa en while por lo tanto seria aconsejable utilizar un arreglo de estructuta
#26
Programación C/C++ / Re: estructura de datos
11 Diciembre 2012, 04:09 AM
una pequeña base no se si es lo q necesitas,pero si no solo envia sugerencias para seguir colaborando  ;)

#include<stdio.h>
#define MAX 10
typedef struct{
int dia;
int mes;
int año;
}fecha;
typedef struct{
char nombre[50];
float compra;
   float ventas;
   float importe;
   float descuento;
}empresa;
float compras(empresa info[MAX],int *contador){
float tmp=0,total=0;
while(tmp>=0){
*contador+=1;
printf("ingrese el precio de las compras\n");
scanf("%f",&tmp);
if(tmp<0 || *contador>=10)
return(total);
info[*contador].compra=tmp;
total+=info[*contador].compra;
}
return(total);
}
int main(void){
fecha datos;
empresa info[MAX];
int i=-1;
float precio=compras(info,&i);
printf("el precio total es %f\n",precio);
return(0);
}
#27

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void){
int asignaciones[5];
char respuesta;
printf("cuanto es 2 + 2 ?\n");
printf("a ) 2\n");
printf("b ) 3\n");
printf("c ) 4\n");
printf("Dame tu respuesta\n"); 
scanf("%c",&respuesta);
if(respuesta=='c'){
printf("es correcta\n");
asignaciones[0]=1;
}else
printf("La respuesta es incorrecta\n");
getchar();   
return(0);    
}
#28
Hola bueno aqui una pequeña introduccion ojala te sirva.

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct{
char Simbolo[30];
    char Nombre_y_apellidos[30];
    int Cantidad_pide;
    int Cantidad_disponible;
    int Precio_total;
}cantidad;
void llena(cantidad total[],int *cont){
*cont=*cont+1;
printf("ingrese simbolo\n");
fflush(stdin);
gets(total[*cont].Simbolo);
printf("ingrese nombre y apellido\n");
fflush(stdin);
gets(total[*cont].Nombre_y_apellidos);
printf("ingrese cantidad a pedir\n");
scanf("%i",&total[*cont].Cantidad_pide);
printf("ingrese precio\n");
scanf("%i",&total[*cont].Precio_total);
}
void imprime(cantidad total[],int *cont){
int i;
for(i=0;i<*cont;i++){
printf("simbolo\n");
    puts(total[i].Simbolo);
    printf("nombre y apellido\n");
    puts(total[i].Nombre_y_apellidos);
    printf("cantidad a pedir\n");
    printf("%i\n",total[i].Cantidad_pide);
    printf("precio total\n");
    printf("%i\n",total[i].Precio_total);
}
}
int menu(){
int opc;
printf("Menu\n1 llena elementos\n2 imprime elementos\n3 salir\n ingrese opcion\n");
scanf("%i",&opc);
return(opc);
}
int main(void){
int opc,contador=-1;
cantidad total[3];
do{
opc=menu();
switch(opc){
case 1:
llena(total,&contador);
       break;
        case 2:
imprime(total,&contador);
break;
case 3:
return(0);
                default:
printf("error la opcion no esta disponible\n");
}

}while(opc!=0);
return(0);
}
#29
aaaa pero ahora que lo pienso se puede usar una estructura  ;)
#30
Amigo el solo hecho de hacer un arreglo de tipo cadena unidimencional ya es vastante complejo por ejemplo para asignar directamente los datos seria asi

char *var[50];
var[0]="Casa";
var[1]="Perro"
//pero para ingresar tu los datos por teclado por ejemplo asi
char *var[50];
scanf("%s",var[0]);
printf("%s",var[0]);
//no es posible tiene que ser un arreglo de tipo var[][]