掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.26415

わからなくなってしましました。助けてください
投稿者---初めて8日目です(2006/03/15 23:33:21)


今研修を受けているんですが何が駄目なのかが自分にはよくわかりませんでした。どうか助けてください。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

struct MEMBER {
int ID;
char Name[32];
int Age;
struct MEMBER *next;
};

struct MEMBER *nyuuryoku(struct MEMBER *fin,struct MEMBER *head);
void itiranhyou(struct MEMBER *head);
struct MEMBER *sakujo(struct MEMBER *head, struct MEMBER *fin);

int main(void)
{
int w = 0;
struct MEMBER dmy;
struct MEMBER *head = &dmy;
struct MEMBER *fin;

head = &dmy;
head->next = NULL;
fin = head;

while (1){
printf("<メニュー>\n1:追加\n2:一覧\n3:削除\n99:END\n\nNO?\n");
scanf_s("%d", &w);
if(w == 1){
/*meb [i] =*/
fin = nyuuryoku(fin,head);
//i++;
}
else if(w == 2){
itiranhyou(head);
}
else if(w == 3){
fin = sakujo(head,fin);
}
else if(w == 99){
break;
}
for(

}
}
/*データ入力*/
struct MEMBER *nyuuryoku(struct MEMBER *fin,struct MEMBER *head){
struct MEMBER *a;
struct MEMBER *g;

if((a = (struct MEMBER*)malloc(sizeof(struct MEMBER)))==NULL){
printf("確保失敗\n");
}
printf("ID?");
scanf_s("%d", &a->ID);
for(g = head->next; g!=NULL; g = g->next){
    if(g->ID == a->ID){
      free(a);
return fin;
}
}
printf("名前?");
scanf_s("%s", a->Name,31);
printf("年齢?");
scanf_s("%d", &a->Age);

a->next = NULL;
fin->next = a;
fin = a;

return fin;
}
/*一覧表示*/
void itiranhyou(struct MEMBER *head){

struct MEMBER *c;

printf("ID 名前 年齢\n");
for(c = head->next; c!=NULL; c = c->next) {
printf("%d %s %d\n", c->ID, c->Name, c->Age);
}
}
/*削除*/
struct MEMBER *sakujo(struct MEMBER *head, struct MEMBER *fin){
struct MEMBER *k;
struct MEMBER *l;
int m = 0;

printf("ID?\n");
scanf_s("%d", &m);

for(k = head; k->next !=NULL; k = k->next){
if(k->next->ID == m){
l = k->next;
k->next = k->next->next;
if(fin->ID == m){
fin = k;
}
}
free(l);
return fin;
}
}
このソースの何が駄目なのか教えてください。
覚えている限りで言いますとメモリの解放が不十分なのと削除の関数がこれでは駄目みたいなのですが・・・・・よろしくお願いします


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:わからなくなってしましました。助けてください 26416 Blue 2006/03/15 23:46:35
<子記事> Re:わからなくなってしましました。助けてください 26532 shu 2006/03/29 18:48:03
<子記事> Re:わからなくなってしましました。助けてください 26533 shu 2006/03/29 18:49:57


No.26416

Re:わからなくなってしましました。助けてください
投稿者---Blue(2006/03/15 23:46:35)


とりあえず、掲示板ご利用上の注意を読んで、再度投稿し直してください。
  • 題名と投稿者名は具体的に書きます。
  • 課題の丸投げはしません。
  • ソースの添付は「HTML変換ツール」で字下げします。
  • 返信の引用は最小限にします。
  • 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
  • 返信の付いた投稿は削除しません。
  • マルチポスト(多重投稿)はしません。

字下げのされていないソースは正直よむ気が起こりません。



この投稿にコメントする

削除パスワード

No.26532

Re:わからなくなってしましました。助けてください
投稿者---shu(2006/03/29 18:48:03)


>今研修を受けているんですが何が駄目なのかが自分にはよくわかりませんでした。どうか助けてください。

質問の仕方が駄目です。

>このソースの何が駄目なのか教えてください。
>覚えている限りで言いますとメモリの解放が不十分なのと削除の関数がこれでは駄目みたいなのですが・・・・・よろしくお願いします

問題を載せないで、ソースを載せることが間違っています。


この投稿にコメントする

削除パスワード

No.26533

Re:わからなくなってしましました。助けてください
投稿者---shu(2006/03/29 18:49:57)


>今研修を受けているんですが何が駄目なのかが自分にはよくわかりませんでした。どうか助けてください。

開いたスレッドが、ほったらかしです。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧