数学建模社区-数学中国

标题: 用c语言写一个通讯录,开贴可能会出现好些问题来求教 [打印本页]

作者: 蕾欧娜    时间: 2015-4-20 10:36
标题: 用c语言写一个通讯录,开贴可能会出现好些问题来求教
废话不多说,先放出第一个问题
' H/ P# ?; i" R代码:+ J  y  B# c% q% [& G
#include "stdio.h"6 j! _% b: h5 }  I  @6 Q
#include "conio.h"
- E# d0 `0 m* e/ O+ R#include "stdlib.h"! V8 C7 t' a0 L5 H; g& B; |* p

8 U- H* {6 v' S7 T" D" q5 Xint add_people();5 x8 D" ^( T6 u  {& \6 a! Z( a
/*void check_people();
  I6 d7 W/ Y. g5 N( lvoid revise_people();- I$ }7 g9 q$ d3 q" w; [' _
void delete_people();*/
' b. K8 Z; ~+ i* V( X6 M6 {5 i) b3 Wvoid save_exit();
9 O+ H# P2 B9 p( S# C6 ]) o
% F+ Z/ U+ l6 B; J0 I$ Y  C( N, G7 J, ?6 R$ e6 e, d) T( C

, j$ C8 z) r4 z+ xmain()
! n# m& x8 }. v4 Y6 }- ]. g" t{7 T# W1 s, _$ z5 J& _
int com;                  /* 定义com变量用作读取操作符*/
9 d5 o" i! g" @. o! B6 {    printf("======================Welcome to Message manage system=========================\n");
. G. x" Z3 F0 B    printf("\n");
0 X0 y0 u  R* h    printf("===============1.Add contact people     2.Check contact people=================\n");
4 U' n/ l9 d! X, ?! z7 r    printf("\n");! S6 e: z8 G0 y2 ~# y- w
    printf("===============3.Revise contact people  4.Delete contact people================\n");
! N' z8 b$ E0 D5 y# w  a    printf("\n");
; c9 o9 F# l7 O. G    printf("============================  5.Save&Exit======================================\n");0 A6 O5 l0 g3 v' O0 l* k" X, H) @
scanf("%d",&com);' U& J& `; G5 m2 i6 n# g8 R. e, ?
    while(1); u0 U+ T8 q# v" i8 E
    {  c" e5 B: |8 C5 U2 c
        switch(com)
! B5 K) W( x# h! I5 N        {0 m/ u- x$ b/ q: D: }  G' }  u
            case 1:add_people();break;
" K0 p9 W$ m3 q3 ]            /*case 2:check_people();break;9 i7 [7 `% `- {2 p0 h, K/ D" |
            case 3:revise_people();break;
+ {/ `4 }) f2 _) n            case 4:delete_people();break;*/7 l; l, x  g% r- l
            case 5:save_exit();break;
6 @' z* R. ?# d        }
; ^% w) Y+ R) L5 X/ A    }
+ e, R9 U7 i3 k& _9 H9 \* Y, f; h8 Z
    9 F9 y: s/ q2 u3 Q: |" N
}
9 {; U# K. ^0 z9 d" [+ @2 j6 j8 T4 j: K8 _, u1 D& g5 z0 h
int add_people()/ d, v, Z8 K6 @+ F2 v
{
! n9 x( \* B5 }# A% w2 A& SFILE *fp;+ u/ {& f9 e0 i+ p' H- c2 e
char people,phone,filename[10],temp;% D* g6 K; \9 |( }; h
temp=78;
$ B& p  _2 y: N# r6 E: _) u- ]while(1)
% Q; D+ B+ ?% ^{$ G- F3 ~/ ?) X5 K( ^
printf("输入要存储到的文件名\n");
# O! x: w3 h" E" h$ p8 m! l( sscanf("%s",filename);
" s( X8 j" b5 c8 sif((fp=fopen(filename,"w"))==NULL)5 ]! Z1 S6 t! o7 i- L1 V( M
{) e- ^. @: o8 s/ z$ n! _
printf("无法打开\n");
" o5 k. h$ _' T2 w2 Bexit(0);) T/ M( ?) [2 b  k0 L" x
}
/ }- a. K  N' S" D) @loop:        printf("请输入你要保存的联系人(以#结束)\n");
6 ]+ K' @& j/ \) Y: _& wpeople=getchar();
* [) ~( P. N9 S* L5 Nwhile(people!='#')
$ a; q* V5 |* j2 s, R6 C( g: o{
5 q: q2 G/ ^- o( H, ffputc(people,fp);  Z7 B8 s  _% o( w
putchar(people);
$ L" t$ O; _& e: o2 B; L. W5 cpeople=getchar();
# N+ Q4 u! h; _1 W}" c4 X) {9 d; D3 g
printf("请输入要保存的联系人号码(以#结束)\n");
, x4 ^6 h. Q( {+ }0 b; I% V9 t9 Ephone=getchar();
+ b; u; B; F1 N' ^6 ywhile(phone!='#')& g: y( g  Y9 Z
{
8 y0 E, x5 F* {0 w8 [fputc(phone,fp);
+ D- p7 j7 o( N9 I5 |' q( Q5 ^- Eputchar(phone);+ ]6 h. O6 b- c, ]
phone=getchar();7 A5 }7 k. s. k9 _
}* \, t! _8 F0 G. H3 J
putchar(10);        # d- r! M9 S3 M0 U" y% i
printf("是否继续添加联系人Y/N\n");
9 @8 k7 P1 J7 b" J5 Q/ lscanf("%s",&temp);% k7 h; q; O$ B, x
if(temp=='n'||temp=='N')
& [( Y2 B6 G3 w: b% k( D, e3 Q. x" _  F{
. q2 D5 F; F$ B3 b/ `printf("按下任意键返回主菜单\n");
6 O% A) t* y% h5 M0 \8 F" c1 L# f, Qgetchar();2 n: n5 q' q  r
return 0;
4 r! Z( L: r1 s}else
4 q0 |% ~. M* T# xgoto loop;, n" U9 S( s: k' ^* ^" q" Q
}& k3 v" d6 L+ t% t$ b3 g5 _& }" f
fclose(fp);) f4 E; Z% q% M2 {# R+ L
return 0;& [% B4 i1 d' S+ I! P1 I* o
}' Z( J6 t! M; [. q: s

" X0 F/ t4 F( \9 D& C' D* n* lvoid save_exit()
2 t7 J! C6 V8 H1 M7 F! g4 d( V{9 z2 B$ |) }& x* x% A6 \4 V/ T
printf("按下任意键退出\n");
% N: i7 o- `$ d" @$ e# u6 T; `1 Dgetchar();! R" A; y6 P2 M7 u
exit(0);# M  T0 P- ]& }- N( D$ ^
}
  k9 j+ C6 V' z9 ]; U问题是新建联系人后按n键我要返回到主函数进行继续选择,该怎么做?
4 b$ T: ]: m; o- p; H, e, A% ?0 F. A, B8 n9 e0 }) x9 N/ F6 h





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5