1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
|
#include<stdio.h>
#include<string.h>
#define FILENAME "meibo.txt"
#define MAX_STUDENT_NUM 100
struct student{
int id;
char first_name[100];
char last_name[100];
char tel_number[100];
};
void read_file(char*filename, struct student*sl, int sln)
{
FILE*fp=NULL;
int i, id;
char fn[100], ln[100], tn[100];
if((fp= fopen("meibo.txt", "r")) == NULL)
return;
for(i=0;i<sln;i++){
/* prototype int fscanf (FILE * stream, const char * format, ...); */
if(fscanf(fp, "%d %s %s %s", &id, fn, ln, tn)<=0)
break;
sl[i].id = id;
/* tu veux copier quoi dans quoi ? */
/* syntaxe : strcpy( destination, chaine_a_copier ) */
strcpy(*char );
strcpy(*char last_name);
strcpy(*char tel_number);
}
fclose(fp);
}
void print_all(struct student*sl, int n)
{
int i;
for(i=0; i<n; i++){
printf("%d %s %s %s\n",
sl[i].id,
sl[i].first_name,
sl[i].last_name,
sl[i].tel_number);
}
}
void print_by_id(struct student*sl, int n, int id)
{
int i;
for(i=0; i<n; i++){
if(sl[i].id == id){
printf("%d %s %s %s\n",
sl[i].id,
sl[i].first_name,
sl[i].last_name,
sl[i].tel_number);
}
}
}
int lookup(struct student *sl, int n, int mode, char *str)
{
int id = -1, i;
int compresult = -1;
for(i=0; i<n; i++) {
/* remplace les chifffres (1,2,3 et 4) par les valeurs que peut prendre mode */
switch(mode){
case 1 :
printf("mode = first_number\n");
break;
case 2 :
printf("mode = last_name\n");
break;
case 3:
printf("mode = tel_number\n");
break;
case 4 :
printf("mode = -1\n");
break;
default:
break;
}
if(compresult == 0){
id = sl[i].id;
break;
}
}
return id;
}
int main()
{
int id;
struct student studentlist[MAX_STUDENT_NUM];
scanf(FILENAME, &studentlist[0], MAX_STUDENT_NUM);
fprint(&studentlist[0], 3);
printf("\n");
printf("lookup foo1\n");
id = lookup(studentlist, 3, 1, "foo1");
if(id != -1){
printf("foo1 info:\n");
print_by_id(studentlist, MAX_STUDENT_NUM, id);
}
printf("\n");
printf("lookup bar2\n");
id= lookup(studentlist, 3, 2,"bar2");
if(id !=-1){
printf("bar2 info:\n");
print_by_id(studentlist, MAX_STUDENT_NUM, id);
}
printf("\n");
printf("lookup 111-1111-1111\n");
id = lookup(studentlist, 3, 3, "111-1111-1111");
if(id !=-1){
printf("telnum(111-1111-1111) info:\n");
print_by_id(studentlist, MAX_STUDENT_NUM, id);
}
} |
Partager