All pastes #829459 Raw Edit

Miscellany

public text v1 · immutable
#829459 ·published 2007-12-23 04:46 UTC
rendered paste body
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct user{
  int user;
  char *name;
  int id;
}t_user;

typedef struct tot{
  t_user *users;
  int sum;
}t_tot;

char* lerString(void);


int main(void){
int opcao;
t_tot estrutura={NULL, 0};
do{
  if(estrutura.users==NULL)
    estrutura.users=(t_user*) malloc(sizeof(estrutura.users));else
  estrutura.users=(t_user*) realloc(estrutura.users, sizeof(t_tot)*estrutura.sum+1);
  
  estrutura.users[estrutura.sum].name=lerString();
  printf("Introduza o id ");
  scanf("%d", &(estrutura.users[estrutura.sum].id));
  estrutura.sum++;
  printf("\nTenho [%d] users inseridos\n", estrutura.sum);
  printf("\nO nome da posicao [%d], e : [%s]\n", estrutura.sum-1, estrutura.users[estrutura.sum-1].name);
  printf("0 para sair:");
  scanf("%d", &opcao);
}while(opcao!=0);
return 0;
}

char* lerString(void){
char nome[50], *st;
printf("Introduza o nome:");
scanf("%s", nome);
st=(char*) malloc(sizeof(char)*strlen(nome)+1);
if(st!=NULL) {
 strcpy(st, nome);
 printf("st=%s\n", st);
 printf("nome=%s\n", nome);
}else{ printf("FAILURE MEM\n"); st=nome;}
return st;
}