Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit de28a28

Browse files
authored
Refactor Love-Calculator
1 parent 261c1a7 commit de28a28

File tree

1 file changed

+59
-71
lines changed
  • Windows_System_examples/Love-Calculator

1 file changed

+59
-71
lines changed

‎Windows_System_examples/Love-Calculator/main.c

Lines changed: 59 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,91 +1,79 @@
11
#include <stdio.h>
22
#include <stdlib.h>
3-
#include<conio.h>
4-
int main()
3+
4+
5+
void enter_string(char* message, char* s, size_t s_size) {
6+
printf("%s", message);
7+
fgets(s, s_size, stdin);
8+
}
9+
10+
int get_score(char* s)
511
{
6-
int i,a2,g=0,p,a1,s2=0,b,s1=0;
7-
char s[1000],st[1000];
8-
printf("Enter The First Name: ");
9-
fgets(s, sizeof(s), stdin);
10-
for ( i = 0; s[i] != '0円'; i++);
11-
a1=i-1;
12-
printf("Enter The Second Name: ");
13-
fgets(st, sizeof(st), stdin);
14-
for ( i = 0; st[i] != '0円'; i++);
15-
a2=i-1;
16-
for(int j=0;j<a1;j++)
17-
{
18-
b=(int) s[j];
19-
20-
if(s[j]==' ')
12+
char *end;
13+
for (end = s; *end != '0円'; ++end);
14+
--end;
15+
16+
if (end == s)
2117
{
22-
continue;
18+
printf("wrong Input\n");
19+
return -1;
2320
}
24-
else if(s[j]>='A'&&s[j]<='Z')
25-
{
26-
s1=s1+(b-64)*5;
27-
}
28-
else if(s[j]>='a'&&s[j]<='z')
21+
22+
int score = 0;
23+
char c;
24+
for(char* p = s; p != end; ++p)
2925
{
30-
s1=s1+(b-96)*5;
31-
}
26+
c = *p ^ 0x20;
27+
28+
if(c == ' ')
29+
{
30+
continue;
31+
}
32+
else if(c >= 'A' && c <= 'Z')
33+
{
34+
score += c - '@';
35+
}
3236
else
3337
{
3438
printf("wrong Input\n");
35-
g=12;
36-
break;
37-
}
38-
39+
return-1;
40+
}
41+
}
42+
returnscore*5 / (end-s);
3943
}
40-
s1=s1/a1;
4144

45+
int main()
46+
{
47+
int p,s1,s2;
48+
char name[1000];
4249

43-
for(int j=0;j<a2;j++)
44-
{
45-
b=(int) st[j];
46-
47-
if(st[j]==' ')
50+
while(1)
4851
{
49-
continue;
50-
}
52+
do
53+
{
54+
enter_string("Enter The First Name: ", name, sizeof(name));
55+
s1 = get_score(name);
56+
} while (s1 == -1);
5157

52-
else if(st[j]>='A'&&st[j]<='Z')
53-
{
54-
s2=s2+(b-64)*5;
55-
}
56-
else if(st[j]>='a'&&st[j]<='z')
57-
{
58-
s2=s2+(b-96)*5;
59-
}
58+
do
59+
{
60+
enter_string("Enter The Second Name: ", name, sizeof(name));
61+
s2 = get_score(name);
62+
} while (s2 == -1);
63+
64+
if(s2 > s1)
65+
{
66+
p = (s1 * 100) / s2;
67+
}
6068
else
6169
{
62-
printf("wrong Input\n");
63-
g=12;
64-
break;
65-
}
66-
67-
}
68-
s2=s2/a2;
70+
p = (s2 * 100) / s1;
71+
}
6972

70-
if(g!=12)
71-
{
72-
if(s2>s1)
73-
{
74-
p=(s1*100)/s2;
75-
}
76-
else
77-
{
78-
p=(s2*100)/s1;
79-
}
80-
char ch='%';
81-
printf("The love Percentage is : %d %c\n",p,ch);
82-
}
83-
else
84-
{
85-
printf("Input Error\n");
86-
}
87-
printf("\n pls Follow me 🌟 if you like this code 😊\n");
88-
return main();
73+
printf("The love Percentage is : %d %% \n",p);
74+
printf("\n pls Follow me 🌟 if you like this code 😊\n");
75+
}
76+
return 0;
8977
}
9078

9179

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /