You seem to have a few small issues
1. remember gets will overflow the name and partner buffers,
2. it seems like ns only ever looks at the first character of name because it is missing the array index
3. minor - p=... is unused
here are some minor updates
Code
#include <ctype.h>
#include <stdio.h>
#include <string.h>
int Sum_of_Digits(int digit) {
int sum = 0;
while (digit > 0) {
sum += (digit % 10);
digit /= 10;
}
return sum;
}
int main() {
char name[100], partner[100];
int ns = 0, ps = 0, love = 54, i, j, love_percentage, opt;
do {
printf("Enter Your Name: ");
[B]fgets(name, 100, stdin);[/B]
printf("Enter Your Partner Name: ");
[B]fgets(partner, 100, stdin);[/B]
for (i = 0; i < strlen(name); i++) {
[B]ns += (tolower(name[i]) - 96);[/B]
}
for (i = 0; i < strlen(partner); i++) {
ps += (tolower(partner[i]) - 96);
}
love_percentage = Sum_of_Digits(ns) + Sum_of_Digits(ps) + love;
printf("The Love Percentage is %d\n", love_percentage);
printf("\nPress 1 To continue or 0 to Exit: ");
scanf("%d", &opt);
while (getchar() != '\n');
} while (opt != 0);
return 0;
}
This post was edited by iceisfun on Jun 21 2023 02:29am